xcode 5.1:libCordova.a 架构问题 [英] xcode 5.1: libCordova.a architecture problems

查看:19
本文介绍了xcode 5.1:libCordova.a 架构问题的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

昨天 (3/10/14) 当 iOS 7.1 发布时,我也升级到 Xcode 5.1,发现我的 PhoneGap/Cordova 项目将不再编译到我的 iPhone 5s.我还将 Cordova 升级到最新版本:v 3.4.0-0.1.3.

Yesterday (3/10/14) when iOS 7.1 was released I also upgraded to Xcode 5.1 and found that my PhoneGap/Cordova project would no longer compile to my iPhone 5s. I also upgraded Cordova to the most recent release: v 3.4.0-0.1.3.

我在 SO 上阅读了许多不同的解决方案,这些解决方案涉及如此多变的活动架构和仅构建活动架构,但它们都不起作用.所以这是我尝试过的和我得到的错误.最初我得到了错误:

I have read many different solutions on SO that relate so changing active architectures and building only active architectures, and none of them work. So here's what I've tried and the errors I get. Initially I got the error:

missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64

所以我尝试了以下方法.我在我的项目中选择了 CordovaLib 子项目,在项目和目标中,我都进入了架构下的构建设置,并确保arm64code> 未包含在任何 Debug 或 Release 架构中.此时仅构建活动架构设置为是".这导致了以下错误:

So I tried the following. I selected the CordovaLib sub-project in my project, and in both the project and target, I went to Build Settings under Architectures and made sure that arm64 was not included in any of the Debug or Release architectures. At this time Build Active Architecture Only is set to "Yes". That resulted in the following error:

file was built for archive which is not the architecture being linked (armv7): 
<long file path omitted> libCordova.a
Undefined symbols for architecture armv7

仅构建活动架构设置为否",错误再次变为:

Setting Build Active Architecture Only to "No", the error again becomes:

missing required architecture arm64 in file <long file path omitted> libCordova.a
Undefined symbols for architecture arm64

我不知道还能尝试什么.该项目的架构设置仅包括设置为 iOS 7.1 的关键Base SDK".项目的目标没有架构设置.无论如何,我相当确定问题出在嵌入式 CordovaLib 子项目上.我该怎么做才能让这个东西成功编译到我的设备上?

I'm not sure what else to try. The project's architecture settings only includes the key "Base SDK" which is set to iOS 7.1. The project's target does not have architectures settings. Anyway I'm fairly certain the problem lies with the embedded CordovaLib sub-project. What can I do to make this thing compile to my device successfully?

更新:Apache 的 Jira 上的相同问题:https://issues.apache.org/jira/browse/CB-6223

Update: same issue on Apache's Jira: https://issues.apache.org/jira/browse/CB-6223

推荐答案

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

@Shazron posted the fix on the Apache JIRA - he notes that the fix will be released as part of Cordova 3.5:

  1. 选择您的项目图标
  2. 选择构建设置.
  3. 对于架构",选择 $ARCHS_STANDARD - 标准架构(armv7、armv7s、arm64)
  4. 对于有效架构",添加arm64"
  5. 选择您的 CordovaLib.xcodeproj 图标
  6. 在项目(不是目标)的构建设置中,删除条件架构设置(悬停以查看减号)
  7. 对于架构",选择 $ARCHS_STANDARD - 标准架构(armv7、armv7s、arm64)
  8. 对于有效架构",添加arm64"
  9. 转到 6,但现在为目标"执行此操作

这是 Shazron 对此问题的完整文章的链接:http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/

Here's a link to Shazron's complete writeup of this problem: http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/

现在已经发布,简短的版本是:

It is now released and the short version of what to do is:

Cordova CLI 3.4.1-0.1.0 已发布,其中包括 Cordova iOS 3.4.1,该版本包含本博文中提到的所有修复程序.更新您的 Cordova CLI,如果您有现有项目,请执行cordova 平台更新 ios".

Cordova CLI 3.4.1-0.1.0 is out, which includes Cordova iOS 3.4.1 which incorporates all the fixes mentioned in this blog post. Update your Cordova CLI, and if you have an existing project, do a "cordova platform update ios".

这篇关于xcode 5.1:libCordova.a 架构问题的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆