ios - 如何使用 watchkit 应用程序从命令行生成 .ipa 文件

我有一个使用 xcodebuild 进行发布构建的 jenkins 实例。然后我有一个脚本(在 Jenkins 上)使用 xcrun 创建 .ipa 文件。到目前为止,这对我们来说效果很好。现在我们有了一个 watchkit 应用程序,从这个过程创建的 .ipa 文件与您执行归档构建并从 Xcode 导出时创建的文件不同。

从 Xcode 导出的 .ipa 有一个“Payload”文件夹、一个“Symbols”文件夹(可能是可选的)和一个“WatchKitSupport”文件夹。从 xcrun 生成的 ipa 没有“符号”或“WatchKitSupport”文件夹。在此处查看有关结构的更多信息:https://stackoverflow.com/a/29400301/327386

我在 SO 上看到了这篇文章:https://stackoverflow.com/a/19856005/327386它具有存档和导出 .ipa 构建的命令(类似于 Xcode 过程),但即使这样也没有创建有问题的新文件夹。

有谁知道是否有一种方法可以使用命令行工具创建一个与 Xcode 创建的文件等效的 .ipa 文件?我没有找到任何官方文档

最佳答案

确切的问题

xcodebuild -exportArchive 无法使用 Watch Extension 生成有效的 IPA,这是 Apple 的错误 (http://openradar.appspot.com/20898925)。

官方(Xcode 7)解决方案

Apple 在 Xcode 7 中使用 xcodebuild -exportArchive 命令的 -exportOptionsPlist 标志解决了这个问题。您可以找到有关它的更多详细信息in this article .

非官方(Xcode 6)解决方案

有解决该问题的方法。如果情况紧急,您可以和他们一起玩,但我找不到适合所有人的解决方法(基于论坛讨论)。

  1. 添加 WatchKitSupport 和 Symbols 文件夹。更多详情 here和 here .它不适合我。
  2. 辞去整个申请。更多详情 here .它很hacky,但比前面提到的解决方案工作得更好。

https://stackoverflow.com/questions/29522191/

相关文章:

build - CMake:如何最好地构建多个(可选)子项目?

ios - asm中的未知寄存器名称 'q0'

build - 更改 CMake 文件标准位置

c++ - 如何强制 clang 默认使用某些库?

build - Unix : fast 'remove directory' for cleanin

haskell - 平行 cabal

ios - 从 xcode 命令行生成 ipa

ios - 防止 Xcode 每次都构建子项目

c - 去 1.5+ : Error - imports runtime: C source fil

visual-studio - Visual Studio 可以在构建日志中添加时间戳吗?