带有xcode 5.1的cordova 3.4不会使用最新的文件传输插件构建

时间:2014-04-03 11:33:34

标签: ios xcode cordova

我将我的cordova应用更新到3.4.0-0.1.3。我有xcode 5.1。在我的应用程序中,我使用插件的早午餐和/添加所有这些。 cordova plugins list报告以下内容:

[ 'com.phonegap.plugins.PushPlugin',
  'org.apache.cordova.camera',
  'org.apache.cordova.console',
  'org.apache.cordova.device',
  'org.apache.cordova.dialogs',
  'org.apache.cordova.file',
  'org.apache.cordova.file-transfer',
  'org.apache.cordova.geolocation',
  'org.apache.cordova.globalization' ]

之后我尝试构建xcode并遇到很多错误(47),但我做了我的作业,发现了很多有用的答案,比如这些http://shazronatadobe.wordpress.com/2014/03/12/xcode-5-1-and-cordova-ios/帮助我将问题减少到2。以下是命令行中的错误消息,因为我不允许(现在)发布屏幕截图。它们与xcode中的非常相似:

Undefined symbols for architecture i386:
  "_OBJC_CLASS_$_CDVFilesystemURL", referenced from:
      objc-class-ref in CDVFileTransfer.o
ld: symbol(s) not found for architecture i386
clang: error: linker command failed with exit code 1 (use -v to see invocation)

** BUILD FAILED **


The following build commands failed:
  Ld build/emulator/Appname.app/Appname normal i386
(1 failure)
Error: /Users/username/Documents/cordova/appname/platforms/ios/cordova/build: Command failed with exit code 65
    at ChildProcess.whenDone (/usr/local/lib/node_modules/cordova/src/superspawn.js:112:23)
    at ChildProcess.EventEmitter.emit (events.js:98:17)
    at maybeClose (child_process.js:735:16)
    at Process.ChildProcess._handle.onexit (child_process.js:802:5)

因为错误消息引用了CDVFileTransfer.o,所以我尝试再次卸载File-Transfer Pluging build。现在我得到了这个可爱的** BUILD SUCCEEDED **消息。重新安装插件后,构建再次失败。

我做了很多研究,但没有发现任何相关的内容,除了以下内容,但我不确定这是否会导致问题:https://issues.apache.org/jira/browse/CB-6212任何人都可以确认吗?

是否有人使用新的xcode(5.1)和文件传输插件(0.4.2)运行最新的cordova(3.4.0-0.1.3)?

非常感谢!

3 个答案:

答案 0 :(得分:11)

我遇到了同样的错误。我通过检查xcode编译的文件解决了这个问题。 就我而言,CDVFile.m不在列表中。

我邀请您验证插件* .m文件是否已添加到编译文件列表中。

答案 1 :(得分:0)

尝试仅卸载File插件,然后重新安装(在收到错误后)。 为了正确地重复这个,请同时提供插件的安装顺序,它可能为bug提供线索。

答案 2 :(得分:0)

我遇到了同样的问题。这对我有用:

  1. 卸载文件传输
  2. 卸载文件
  3. 重新安装文件传输
  4. 我尝试了所有其他订单,但这是它对我有用的唯一方式。