昨天(3/10/14),iOS 7.1 发布时,我也升级了 Xcode 5.1,并发现我的 PhoneGap/Cordova 项目无法编译到我的 iPhone 5s。我还将 Cordova 升级到了最新版本:v 3.4.0-0.1.3。
我在 Stack Overflow 上读到了很多解决方案,涉及更改活动架构并仅构建活动架构,但它们都不起作用。以下是我尝试过的方法及其出现的错误。开始时,我遇到了这个错误:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
因此,我尝试了以下步骤。我选择了我的项目中的CordovaLib子项目,并在项目和目标中都进入了构建设置 (Build Settings) 下的 架构 (Architectures),确保在任何Debug或Release架构中都不包含arm64
。此时,仅构建活动架构 (Build Active Architecture Only) 设置为"Yes"。结果出现以下错误:
file was built for archive which is not the architecture being linked (armv7):
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7
将仅构建活动架构设置为“否”,错误消息将再次出现:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
我不确定还有什么其他的尝试方法。项目的架构设置只包括键值“Base SDK”,它被设置为iOS 7.1。项目的目标没有架构设置。无论如何,我相当肯定问题出在嵌入的CordovaLib子项目上。我应该怎么做才能使这个东西成功地编译到我的设备上?
更新:Apache的Jira上也有同样的问题:https://issues.apache.org/jira/browse/CB-6223
armv7s
的情况下编译成 5s。 - inorganik