Почему мой проект не запускается в iPhone Simulator? - PullRequest
5 голосов
/ 18 июля 2010

По какой-то причине мое приложение будет нормально устанавливаться и работать на моем устройстве, но когда я пытаюсь установить приложение на iPhone Simulator, я получаю следующие предупреждения:

ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/UIKit.framework/UIKit, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/Foundation.framework/Foundation, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/CoreGraphics.framework/CoreGraphics, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/CFNetwork.framework/CFNetwork, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/AudioToolbox.framework/AudioToolbox, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/MobileCoreServices.framework/MobileCoreServices, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/SystemConfiguration.framework/SystemConfiguration, missing required architecture i386 in file


ld: warning: in /Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS4.0.sdk/System/Library/Frameworks/QuartzCore.framework/QuartzCore, missing required architecture i386 in file

И это вызывает кучу ошибок, которые просто возникают, когда эти структуры просто отсутствуют. Ошибки типа:

  "_OBJC_CLASS_$_NSMutableCharacterSet", referenced from:      objc-class-ref-to-NSMutableCharacterSet in SBJsonWriter.o

Ответы [ 7 ]

3 голосов
/ 16 октября 2010

Ответ:

1) Базовый SDK должен быть Device

2) Каркасы iPhone SDK были скопированы в каталог вашего проекта (на диске). Откройте каталог проекта и удалите все стандартные iPhone SDK Frameworks.

3) Очистить кэш и восстановить

3 голосов
/ 04 июля 2012

У меня была такая же проблема. Это было связано с перетаскиванием фреймворков из одного проекта в другой с включенной опцией копирования. Несмотря на то, что позднее я разыменовал эти фреймворки и правильно их добавил, они все равно давали мне эти ошибки, пока я не удалил каталоги фреймворков из проекта.

0 голосов
/ 14 октября 2010

Вам нужно перейти на верхнюю строку меню и нажать кнопку очистки всех целей

0 голосов
/ 18 июля 2010

Я разобрался с исправлением. Я установил базовый SDK для iPhone Simulator 4.0, и, поскольку он все еще пытался получить SDK от iPhoneOS, я переименовал iPhoneOS.platoform в iPhoneOS_2.platform, поэтому Xcode не может получить доступ к SDK с этой платформы.

0 голосов
/ 18 июля 2010

Я думаю, что вы установили iPhone Device xx вместо iPhone Simulator xx в качестве базового SDK.Подобное случилось со мной, когда я это сделал.

0 голосов
/ 18 июля 2010

Если я не ошибаюсь, если вы используете базовый SDK> 3.2, вам следует настроить архитектуру на оптимизированную. Что такое armv7. Я не уверен, хотя.
~ Натанавра.

0 голосов
/ 18 июля 2010

Он пытается собрать библиотеки устройств для использования на симуляторе. Пути должны выглядеть следующим образом:

/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator4.0.sdk/System/Library/Frameworks/UIKit.framework/UIKit

... с iPhoneSimulator.platform вместо iPhoneOS.platform. Проверьте настройки сборки, очистите проект и очистите кэш Xcode (Xcode> Empty Cache ...)

...