链接器命令失败,退出代码为1;架构armv7s的未定义符号。

时间:2014-03-22 21:15:37

标签: ios xcode linker app-store ipa

这是我第一次尝试将二进制文件(新版iOS应用程序,而不是全新的应用程序)上传到iTunes商店。当我尝试创建存档时,我会收到三个Apple Mach-o linker errors,它会在问题导航器中显示红色。

这就是显示的内容:

ld: warning: ignoring file /Users/alinam/Library/Developer/Xcode/DerivedData/Latina_1-bklvousdwnrhhgenrxpftegwerkb/Build/Intermediates/ArchiveIntermediates/Latina 1/BuildProductsPath/Release-iphoneos/libCordova.a, file was built for archive which is not the architecture being linked (armv7s): /Users/alinam/Library/Developer/Xcode/DerivedData/Latina_1-bklvousdwnrhhgenrxpftegwerkb/Build/Intermediates/ArchiveIntermediates/Latina 1/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`


ld: symbol(s) not found for architecture armv7s
clang: error: linker command failed with exit code 1 (use -v to see invocation)`

在一个现有的讨论中,我读到它可能与将二进制文件与库连接有关。

嗯,在Build Phases -> Link Binary With Libraries the libCordova.a shows up red (missing?)下。

如果是这样,我如何以及在何处获得它以及我该怎么做呢?

更新

我通过删除应用程序armv7s中的arm64armv7(仅留下Build Settings -> Architectures -> Valid Architectures)解决了无法存档应用的问题

现在看起来像this

我已将CordovaLib.xcodeproj -> Build Settings -> Architectures下的所有内容保留为this

所以我有一个新问题:我是否可以简单地从Valid Architectures中删除armv7sarm64而不会产生任何后果?该应用程序是否应该在所有设备上运行?在我阅读的所有相关讨论中,我无法找到明确答案。

0 个答案:

没有答案