Мой проект больше не компилируется для симулятора iOS 5.0 после обновления до автоматического подсчета ссылок.Он по-прежнему безупречно компилируется для любого устройства iOS.
Кроме того, после обновления до iOS 5, но до обновления до автоматического подсчета ссылок, мой проект безупречно компилируется как для устройства, так и для симулятора.
Компоновщикговорит, что не может найти следующие символы:
- _objc_assign_global
- _objc_assign_ivar
- _objc_assign_strongCast
Сначала я подумал, что могуотсутствует специальная платформа Simulator, но после добавления каждой доступной платформы все равно появляются те же ошибки.
Другая информация
- Цель развертывания iOS: 4.0.
- ОСэто Snow Leopard OSX 10.6.8 64bit
Undefined symbols for architecture i386:
"_objc_assign_global", referenced from:
+[InAppPurchaseManager sharedInAppPurchaseManager] in InAppPurchaseManager.o
+[ThemeManager sharedThemeManager] in ThemeManager.o
+[DownloadUpdatesManager sharedDownloadUpdatesManager] in DownloadUpdatesManager.o
+[AudioManager sharedAudioManager] in AudioManager.o
+[IOHelper sharedIOHelper] in IOHelper.o
-[CKBezierPath svgStringPath] in CKBezierPath.o
+[PreferencesManager defaultLineWidth] in PreferencesManager.o
...
"_objc_assign_ivar", referenced from:
-[InAppPurchaseManager init] in InAppPurchaseManager.o
-[InAppPurchaseManager addTransactionObserver:] in InAppPurchaseManager.o
-[InAppPurchaseManager removePurchaseTransactionObserver:] in InAppPurchaseManager.o
-[InAppPurchaseManager purchaseProduct:forThemeIDType:] in InAppPurchaseManager.o
-[InAppPurchaseManager productsRequest:didReceiveResponse:] in InAppPurchaseManager.o
-[ThemeEditVC viewDidLoad] in ThemeEditVC.o
-[ThemeEditVC setDelegate:] in ThemeEditVC.o
...
"_objc_assign_strongCast", referenced from:
+[SFHFKeychainUtils getPasswordForUsername:andServiceName:error:] in SFHFKeychainUtils.o
+[SFHFKeychainUtils storeUsername:andPassword:forServiceName:updateExisting:error:] in SFHFKeychainUtils.o
+[SFHFKeychainUtils deleteItemForUsername:andServiceName:error:] in SFHFKeychainUtils.o
__replacePlaceholdersWithValues in Utility.o
-[LocationManager checkForNewLocation:] in LocationManager.o
-[LocationManager getNewLocationInStringFormat] in LocationManager.o
___52-[LocationManager getNewLocationInStringFormat]_block_invoke_0 in LocationManager.o
...
ld: symbol(s) not found for architecture i386
Редактировать:
В Objective-C для сборки мусора было установлено «Поддерживается», а не «Требуется».После установки значения «Обязательный» я получил сообщение об ошибке:
ld: /Users/teacher/drawingapp/FlurryLib/libFlurryAnalytics.a(FlurryAnalytics.o), созданный с несовместимыми настройками сборки мусора для связи с предыдущими .oфайлы для архитектуры Команда i386 /Developer_4_2_ios5/Platforms/iPhoneSimulator.platform/Developer/usr/bin/clang завершилась ошибкой с кодом выхода 1
После удаления библиотеки Flurry снова начали появляться предыдущие сообщения об ошибках.
Edit 2:
Похоже, сборка мусора поддерживается только для OS X, а не для iOS.Я до сих пор не понимаю, почему это позволило бы мне скомпилировать и запустить приложение на устройстве с включенной сборкой мусора, но не на симуляторе.
В любом случае, я только что установил сборку мусора на «Unsupported»но теперь он больше не будет компилироваться и запускаться на устройстве.
Теперь я получаю эту ошибку:
/Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m
1. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:52:1: current parser token '-'
2. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:1: LLVM IR generation of declaration 'PurchaseThemeOptionVC::viewDidLoad'
3. /Users/teacher/drawingapp/Main/Source/PurchaseThemeOptionVC.m:39:21: LLVM IR generation of compound statement ('{}')
clang: error: unable to execute command: Segmentation fault
clang: error: clang frontend command failed due to signal 2 (use -v to see invocation)