我正在尝试使用Xcode 4构建基于PhoneGap的应用程序。由于Xcode 4没有PhoneGap项目模板,我使用the handy web page来创建项目。但是,我在构建时遇到以下错误:
Undefined symbols for architecture armv7:
"_OBJC_METACLASS_$_PhoneGapDelegate", referenced from:
_OBJC_METACLASS_$_TestAppDelegate in TestAppDelegate.o
"_OBJC_CLASS_$_PhoneGapDelegate", referenced from:
_OBJC_CLASS_$_TestAppDelegate in TestAppDelegate.o
ld: symbol(s) not found for architecture armv7
collect2: ld returned 1 exit status
PhoneGap应用程序的大部分Cocoa Touch代码都构建为名为PhoneGapLib的库。应用程序项目引用PhoneGapLib项目,并依赖于其产品PhoneGapLib.a并与之链接。 PhoneGapDelegate在PhoneGapLib中定义; TestAppDelegate在主项目中定义。我已将主项目和PhoneGapLib项目的Valid Architectures设置为“armv6 armv7 i386”。
我不知道是什么导致了上述错误。任何人都可以破译它并告诉我应该考虑哪些构建设置来解决它吗?
我找到了a Google Groups thread,其中作者通过使用lipo手动组合库的不同构建来解决类似的问题。如果可能的话,我真的很想避免这一步 - 这似乎是我应该能够通过在两个项目中正确组合构建设置来实现的。
感谢您的帮助!
答案 0 :(得分:2)
0.9.5.1版本包括Xcode 4模板。
答案 1 :(得分:0)
虽然我仍然不知道如何解决上述链接器错误,但我能够通过使用上面链接的网页创建一个新项目来解决它。我还下载了PhoneGap 0.95,从我之前的版本升级了0.01。我不知道这两个动作中的哪一个解决了这个问题,但我现在能够构建一个没有上述问题的PhoneGap应用程序。此外,有人指出现在有一些beta PhoneGap templates available for Xcode 4。