昨天(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

推荐答案

@Shazron在ApacheJira上发布了修复程序——他指出,该修复程序将作为Cordova 3.5的一部分发布:

  1. Select 您的项目图标
  2. Select 生成设置.
  3. 对于"架构", Select $ARCS_STANDARD-标准架构(ARMv7、armv7s、arm64)
  4. 对于"有效架构",添加"arm64"
  5. Select CordovaLib.xcodeproj图标
  6. 在项目(而不是目标)的生成设置中,删除条件体系 struct 设置(悬停以查看减号)
  7. 对于"架构", Select $ARCS_STANDARD-标准架构(ARMv7、armv7s、arm64)
  8. 对于"有效架构",添加"arm64"
  9. 转到6,但现在为"目标"做这件事

这里有一个链接指向Shazron对这个问题的完整描述:http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/

现在它发布了,要做的事情的简短版本是:

Cordova CLI 3.4.1-0.1.0已经发布,其中包括Cordova IOS 3.4.1,它集成了本文提到的所有修复.更新您的Cordova CLI,如果您有现有的项目,请执行"Cordova平台更新iOS".

Ios相关问答推荐

构建iOS项目失败.我们运行了";xcodeBuild";命令,但它退出并返回错误代码65-expo reaction ative

在iOS中禁用URLSession自动重试机制

阿拉伯文变音符号(Harakat)在文本对齐的UILabel中未对齐

在TVOS中访问SWIFT中的objc++函数时发送给类的无法识别的 Select 符

检测touch 并忽略其他手势SWIFT SceneKit

clang:错误:SDK 路径中不包含libarclite

每次我路由到应用程序的主屏幕时,都无法使组合订阅正常工作

使用异步重载实现Swift协议一致性

如何在 SwiftUI 视图中显示协议视图?

如何根据条件快速将返回类型设为 LinearGradient 或 AngularGradient?

SwiftUI Select 器值在超过最大值时重置

类型任何视图不能符合具有泛型的协议上的视图

UIButton在iOS7中没有显示突出显示

Swift 错误:在其自己的初始值中使用的变量

Xcode 项目格式:3.1、3.2、6.3 和 8.0 有什么区别?

iOS - 确保在主线程上执行

iOS7 UITextView contentsize.height 替代

测试目标 X 遇到错误(提前意外退出,操作从未完成 bootstrap - 不会try 重新启动

UISegmentedControl 以编程方式更改段数

Xcode 5 和 iOS 7:架构和有效架构