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

这是我第一次尝试将二进制文件(新版iOS应用程序,而不是全新的应用程序)上传到iTunes商店。 当我尝试创建存档时,我收到三个Apple Mach-o linker errors ,这些Apple Mach-o linker errors在问题导航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?)

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

更新:

我通过在应用程序的Build Settings -> Architectures -> Valid Architectures删除armv7sarm64 (并只留下armv7 )解决了无法归档应用程序的问题。

现在看起来像这样 。

我已经保留了CordovaLib.xcodeproj -> Build Settings -> Architectures ,如下所示 。

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