iOS PhoneGap的构build失败

我是PhoneGap for iOS和Xcode的新手。 我遇到了一个问题,我的应用程序在Android手机上工作得很好。 我能够在iOS模拟器中构build和运行应用程序,但是当我将其存档以在设备上进行testing时,我会看到下面的错误。 我搜遍了,找不到有效的东西。

错误:

 ld: warning: ignoring file /Users/danlehman/Library/Developer/Xcode/DerivedData/HelloWorld-ebkivbdaivqchkgycifnnpgixspn/Build/Intermediates/ArchiveIntermediates/HelloWorld/BuildProductsPath/Release-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7s): /Users/danlehman/Library/Developer/Xcode/DerivedData/HelloWorld-ebkivbdaivqchkgycifnnpgixspn/Build/Intermediates/ArchiveIntermediates/HelloWorld/BuildProductsPath/Release-iphoneos/libCordova.a Undefined symbols for architecture armv7s: "_OBJC_METACLASS_$_CDVViewController", referenced from: _OBJC_METACLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVViewController", referenced from: _OBJC_CLASS_$_MainViewController in MainViewController.o "_OBJC_CLASS_$_CDVURLProtocol", referenced from: objc-class-ref in AppDelegate.o ld: symbol(s) not found for architecture armv7s clang: error: linker command failed with exit code 1 (use -v to see invocation) 

在iPhone 4S上, Cordova 2.7 ,Xcode 5和iOS7出现类似的错误。 我改变了一个设置,它正确地build立。

select你的应用。 转到构build设置,然后有效的体系结构 。 改成:

 armv7 

我以前的设置是:

 arm64 armv7 armv7s 

清理和build立。 这似乎与armv7s有关。 使其运行的一个副作用是状态栏是透明的,并浮动在应用程序的顶部。 这是另一个话题,并与iOS7有关。

我为此苦苦挣扎,阅读了无数“解决scheme”,这些解决scheme似乎适用于某些人,但不适合我。 考虑到这一点, 这可能不适合你。 🙂

1)克隆cordova-ios回购

git clone git@github.com:apache / cordova-ios.git

2)看看可用的分支

git分支-a

你可能会看到类似于:

  • 主遥控器/原产地/遥控器/原产地/遥控器/原产地/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器遥控器/原产地/遥控器/原产地/遥控器/原产地/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/遥控器/设备遥控器/起源/主遥控器/起源/ multipart_plugin_result遥控器/起源/下一个遥控器/起源/ phonegap-js

3)我build立了我的应用程序与cordova2.9所以检查2.9.x分支 – 调整您的项目

git checkout -b 2.9.x origin / 2.9.x

4)确认你在所需的分支

git分支

你应该看到像这样的东西:

  • 2.9.x主

5)进入bin /

cd bin /

6)现在重新创buildcordova应用程序:

./create〜/ some / project / dir / project com.project项目

7)将您的www文件夹从失败的版本复制到新项目。

8)从Xcode获取成功的构build消息。

9)给手指Xcode。

希望这可以帮助!

这是Phonegap中的错误。 您需要在项目中build立设置,search“其他链接器标志”,然后更改:

更改“$(TARGET_BUILD_DIR)/libCordova.a”

“$(BUILT_PRODUCTS_DIR)/libCordova.a”