在新的XCode 5.1中,arm64已成为构建的标准架构之一.
但是,在我目前的项目中,我包含了尚未支持这种新架构的库(例如Google AdMob) - 这些现在导致链接器错误:
ld: symbol(s) not found for architecture arm64
Run Code Online (Sandbox Code Playgroud)
据说谷歌AdMob 6.8.0 支持arm64,但我不能确认这一点,除非cputype (16777228) cpusubtype (0)是arm64?(通过文件命令行工具找到)
libGoogleAdMobAds.a: Mach-O universal binary with 5 architectures
libGoogleAdMobAds.a (for architecture armv7): current ar archive random library
libGoogleAdMobAds.a (for architecture armv7s): current ar archive random library
libGoogleAdMobAds.a (for architecture i386): current ar archive random library
libGoogleAdMobAds.a (for architecture x86_64): current ar archive random library
libGoogleAdMobAds.a (for architecture cputype (16777228) cpusubtype (0)): current ar archive random library
Run Code Online (Sandbox Code Playgroud)
有办法解决这个问题吗?
刚升级到Xcode 5.1,出现以下错误:
忽略文件...依赖关系/ SalesforceNetworkSDK/libSalesforceNetworkSDK.a,缺少文件中所需的体系结构arm64 ...依赖关系/ SalesforceNetworkSDK/libSalesforceNetworkSDK.a(3个切片)
如果我只关闭构建活动拱并从有效拱中移除arm64,我得到:
Build/Products/Debug-iphoneos/libPods.a,文件是为存档而构建的,而不是被链接的架构(armv7)
在Xcode 5.1上升级项目后,Product> Build会发出以下警告和错误:
ld:警告:忽略文件Dropbox/Dropbox.framework/Dropbox,丢失文件Dropbox.framework/Dropbox中需要的架构arm64(3个切片)
架构arm64的未定义符号:"_ OBJC_CLASS _ $ _ DBPath",引自:DropboxViewController.o中的objc-class-ref
似乎Dropbox.framework还不支持arm64.
从项目中删除arm64支持以获得干净构建的Xcode设置是什么?