【发布时间】:2014-04-15 14:14:36
【问题描述】:
昨天(3/10/14)发布 iOS 7.1 时,我也升级到 Xcode 5.1,发现我的 PhoneGap/Cordova 项目将不再编译到我的 iPhone 5s。我还将 Cordova 升级到了最新版本:v 3.4.0-0.1.3。
我已经阅读了许多关于 SO 的不同解决方案,这些解决方案与不断变化的活动架构和仅构建活动架构相关,但它们都不起作用。所以这就是我尝试过的以及我得到的错误。最初我得到了错误:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
所以我尝试了以下方法。我在我的项目中选择了 CordovaLib 子项目,在项目和目标中,我都去了 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设置为“No”,错误又变成:
missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64
我不确定还可以尝试什么。该项目的架构设置仅包括设置为 iOS 7.1 的关键“Base SDK”。该项目的目标没有架构设置。无论如何,我相当确定问题出在嵌入式 CordovaLib 子项目上。我该怎么做才能让这个东西成功编译到我的设备上?
更新:Apache 的 Jira 上的相同问题:https://issues.apache.org/jira/browse/CB-6223
【问题讨论】:
-
我也有同样的问题。 iOS 7.1 和 Xcode 5.1 已经为开发人员提供了一段时间,因此令人失望的是,Cordova 团队在发布之前至少没有就此发出警告。
-
是的。我创建了一个全新的“Hello World”Cordova 项目,并安装了最新的 Cordova,但它无法成功编译。
-
能否获取并重新安装iOS 7.0 SDK?
-
我使用these settings 编译它,但是当我去验证存档时,我收到错误:**此捆绑包无效。包含 armv7s 架构的应用程序必须包含 armv7 架构。这很奇怪,因为看起来我 两者都包含了。
-
修复 Apache Cordova JIRA 问题中的步骤:issues.apache.org/jira/browse/CB-6223。
标签: ios xcode cordova xcode5.1