ios - 什么是 libswiftRemoteMirror.dylib,为什么它包含在我的应用程序包中?

标签 ios swift xcode app-store-connect xcode8

我有一个 iOS 应用程序,我最近已切换到 Xcode 8。 作为其中的一部分,我们从 swift 2.2 切换到 2.3(swift 3 将在稍后推出)。

我有一个自动构建管道,它基本上运行 xcodebuild 以在专用构建机器上生成一个发布二进制文件,在我整理完所有这些之后(Xcode 8 的自动代码签名真的搞砸了一切),现在当我将我的应用程序上传到 iTunes connect 时,它失败并出现此错误:

ERROR ITMS-90171: "Invalid Bundle Structure - The binary file 'MyApp.app/libswiftRemoteMirror.dylib' is not permitted. Your app can't contain standalone executables or libraries, other than the CFBundleExecutable of supported bundles. Refer to the Bundle Programming Guide at https://developer.apple.com/go/?id=bundle-structure for information on the iOS app bundle structure."

果然,如果我解压 .ipa 文件并查看,那里有 libswiftRemoteMirror.dylib

如果我通过 Xcode 为 iTunes 存档/导出,那么它会生成一个没有 libswiftRemoteMirror.dylib 的应用程序包,但是我的应用程序的所有其他版本似乎都有它。即使只是在 Xcode 中进行调试构建,然后查看输出也会显示 libswiftRemoteMirror.dylib 位于我的应用程序包中,这表明 Xcode 本身确实将它放在那里,而不是我的自动构建脚本的任何部分。

这个文件是什么,为什么要放在那里,我应该怎么做? 我可以修改我的构建脚本以删除发布构建的这个文件,但我担心这可能会影响代码签名过程。无论如何我都会尝试一下,看看会发生什么,但感觉这不是正确的做法。

如有任何建议,我们将不胜感激。

最佳答案

在我的例子中,我收到了错误 ITMS-90171,因为我使用的是自定义框架。

"Invalid Bundle Structure - The binary file 'MyFramework.framework/libswiftRemoteMirror.dylib'

(我的应用程序没有得到它。)

我试过健身房but it got stuck at xcrun .所以我尝试在构建短语(使用自定义运行脚本)中为我拥有的每个自定义框架执行 rm -rf libswiftRemoteMirror,有趣的是我没有破坏任何东西:它有效。

关于ios - 什么是 libswiftRemoteMirror.dylib,为什么它包含在我的应用程序包中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39480526/

相关文章:

swift - 调用函数后改变位置

ios - 您的应用程序包签名中的权利与配置文件中包含的权利不匹配

ios - 如何使用分段控件更改按钮操作

ios - 我可以在没有 Xcode 的情况下下载 iOS SDK 4.3 吗?

手势处理程序中的iOS绘图上下文NULL

iOS swift parse + 如何检查电子邮件是否已存在于数据库中

ios - 如何将 .c 文件包含到我的 ios 应用程序中?

ios - 无法转换 UINavigationController 类型的值

ios - 我如何使用 swift 从 View Controller 调用 Set Root View Controller?

ios - 同时从iOS应用上传数据