这是我第一次尝试将二进制文件(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?)
.
如果是这样,我如何以及在哪里获得它以及我该如何处理它?
Update:
我通过删除解决了无法存档应用程序的问题armv7s
and arm64
(并且只留下armv7
)在应用程序的Build Settings -> Architectures -> Valid Architectures
.
现在看起来像this.
我已将一切保留原样CordovaLib.xcodeproj -> Build Settings -> Architectures
,看起来像this.
所以我有一个新问题:我真的可以简单地删除armv7s
and arm64
来自有效架构而没有任何后果?该应用程序会在所有它应该运行的设备上运行吗?在我读过的所有相关讨论中,我找不到这个问题的明确答案。