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

查看:109
本文介绍了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.

我已经阅读了许多不同的解决方案,涉及这样改变活动架构和建设只有活动架构,而且它们都不工作。所以这里是我试过,我得到的错误。最初,我遇到了错误:

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子项目,在项目和目标中,我都转到架构下的构建设置,确保 arm64 未包含在任何调试或发布架构中。此时,仅构建活动架构设置为是。导致以下错误:

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

设置 / strong>到否,错误再次变为:

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. 选择您的CordovaLib.xcodeproj图标

  5. 在项目的构建设置(非目标)中,删除条件架构设置(将鼠标悬停在

  6. 对于有效的体系结构,请添加以下内容: - 添加一个或多个标准体系结构(armv7,armv7s,arm64) arm64

  7. 转到6,但现在为目标执行

  1. Select your Project icon
  2. Choose Build Settings.
  3. For "Architectures", select $ARCHS_STANDARD - Standard architectures (armv7, armv7s, arm64)
  4. For "Valid Architectures", add "arm64"
  5. Select your CordovaLib.xcodeproj icon
  6. In the Build Settings for the Project (not Target), delete the conditional architecture settings (hover to see the minus sign)
  7. For "Architectures", select $ARCHS_STANDARD - Standard architectures (armv7, armv7s, arm64)
  8. For "Valid Architectures", add "arm64"
  9. Goto 6, but now do it for "Target"

链接到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天全站免登陆