我有一个iOS应用程序,我最近切换到Xcode 8.作为其中的一部分,我们从swift 2.2切换到2.3(swift 3将在稍后出现)。
我有一个自动构建管道,基本上运行xcodebuild
在专用构建机器上生成发布二进制文件,然后我对所有这些进行排序(Xcode 8的自动代码签名确实搞砸了所有内容),现在我将我的应用程序上传到iTunes连接,它失败并出现此错误:
错误ITMS-90171:“无效的包结构 - 不允许使用二进制文件'MyApp.app/libswiftRemoteMirror.dylib'。除了支持的包的CFBundleExecutable之外,您的应用程序不能包含独立的可执行文件或库。请参阅包编程有关iOS应用程序包结构的信息,请访问https://developer.apple.com/go/?id=bundle-structure。“
果然,如果我解压缩.ipa文件并看看,那就是坐在那里的libswiftRemoteMirror.dylib
。
如果我通过Xcode存档/导出iTunes,那么它会生成一个没有libswiftRemoteMirror.dylib
的应用程序包,但是我的应用程序的所有其他版本似乎都有它。即使只是在Xcode中进行调试构建,然后查看输出显示libswiftRemoteMirror.dylib位于我的应用程序包中,表明Xcode本身肯定是在那里,而不是我的自动构建脚本的任何部分。
这个文件是什么,为什么要放在那里,我该怎么办呢?我可以修改我的构建脚本以删除此文件以用于发布版本,但我担心这可能会影响代码签名过程。无论如何我会试一试,看看会发生什么,但感觉这不是正确的事情。
任何意见,将不胜感激。