【发布时间】:2021-07-10 21:18:24
【问题描述】:
我有一个支持 Watchkit 的应用。当我在 iPhone 上运行应用程序时,它构建良好,但在 Xcode 中显示警告“WatchKit 应用程序具有无效的存根可执行文件”。我已正确使用捆绑标识符并正确安装了配置文件和证书。请问有这方面的线索吗?
请注意,我在 Xcode 10.3 中构建这个项目,因为包含的框架仍在 Swift 4.2 中,无法升级到 Swift 5。
【问题讨论】:
我有一个支持 Watchkit 的应用。当我在 iPhone 上运行应用程序时,它构建良好,但在 Xcode 中显示警告“WatchKit 应用程序具有无效的存根可执行文件”。我已正确使用捆绑标识符并正确安装了配置文件和证书。请问有这方面的线索吗?
请注意,我在 Xcode 10.3 中构建这个项目,因为包含的框架仍在 Swift 4.2 中,无法升级到 Swift 5。
【问题讨论】:
这是 Xcode 10 beta 中的一个已知问题,建议的解决方案是清理构建文件夹并再次运行。我想你当然已经尝试过了,但我不得不提一下。
同时确保您在 Apple Watch 上选择了“信任这台电脑”。如果你还没有这样做,那么打开 Xcode; a) 通过数据线将您与手表配对的 iPhone 连接到计算机。 b) 重启 Apple Watch c) 在 Apple Watch 上出现提示时接受信任此计算机。
【讨论】:
这个错误与ipa制作过程的关系比任何项目设置都更重要..
避免使用较旧的 xcode 来从使用最新 xcode 创建的存档中制作 ipa,因为有时我们没有导出构建的权限。
您可以使用 xcodebuild 命令从存档创建 ipa 并解决此错误,但无法将其添加到 appstore,因为 xocdebuild 还带有一个错误,即它不会为 watchapp (WatchKitSupport) 和 swift (SwiftSupport) 创建支持目录)。但是,使用此 ipa,应用程序将安装在 Apple Watch 上而不会出现任何错误。
此外,您可能会发现一个有效的命令可以使 ipa 有效,但其他选项也有相同的问题。比如xcrun
解决方法是自己制作这个文件夹结构并创建ipa。
相关链接:
1-Binary Rejection - Invalid Watchkit Support
2-How to generate .ipa file from command line with watchkit app
【讨论】: