Ste*_*her 10 cocoa-touch binary-compatibility ios4 ios5
当我尝试在iOS 4.3模拟器(Xcode 4.2)中运行我的应用程序时,当我点击@autoreleasepool {}时,我崩溃了:
dyld: lazy symbol binding failed: Symbol not found: _objc_autoreleasePoolPush
Run Code Online (Sandbox Code Playgroud)
我环顾四周,看到解决方法是添加libarclite_iphoneos.a.这也是模拟器的一个版本,如libarclite_iphonesimulator.a.
我需要将两个库添加到我的项目中,以使其在模拟器和硬件上运行.但无论我构建哪个,它都会抱怨另一个库是针对不受支持的架构的.
例如,为模拟器构建:
ld: warning: ignoring file /Developer-4.2/Platforms/iPhoneOS.platform/
Developer/usr/lib/arc/libarclite_iphoneos.a, missing required architecture
i386 in file
Run Code Online (Sandbox Code Playgroud)
我如何同时修复这两个?或者我NSAutoreleasePool现在应该坚持使用旧语法?
amo*_*sel 10
经过像干净,干净的文件夹,重置iPhone模拟器甚至重启的试验后,我将目标构建设置上的IPHONE_DEPLYMENT_TARGET从iOS 5.0更改为iOS 4.2.工作.