昨天(2014年3月10日),当iOS7.1发布时,我也升级到了Xcode5.1,发现我的PhoneGap/Cordova项目不能再编译到我的iPhone5s上.我还将Cordova升级到最新版本:V3.4.0-0.1.3.
我读过很多不同的解决方案,它们与更改活动体系 struct 和只构建活动体系 struct 相关,但它们都不起作用.下面是我try 过的方法和我遇到的错误.最初我得到的错误是:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
所以我try 了以下方法.我在我的项目中 Select 了CordovaLib子项目,在项目和目标中,我都 Select 了Architectures下的Build Settings,并确保arm64
没有包含在任何调试或发布架构中.此时Build Active Architecture Only被设置为"是".这导致了以下错误:
file was built for archive which is not the architecture being linked (armv7):
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7
将Build Active Architecture Only设置为"否",错误再次变为:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
我不知道还能try 什么.该项目的架构设置仅包括设置为iOS 7.1的密钥"Base SDK".该项目的目标没有体系 struct 设置.无论如何,我相当确定问题出在嵌入式CordovaLib子项目上.我可以做些什么才能使此代码成功编译到我的设备上?
更新:Apache的Jira上也有同样的问题:https://issues.apache.org/jira/browse/CB-6223