RPM*_*RPM 20 xcode command-line build ios jenkins
我有一个使用xcodebuild进行发布构建的jenkins实例.然后我有一个脚本(在Jenkins上)使用xcrun创建.ipa文件.这对我们来说一直很好,直到现在.现在我们有一个watchkit应用程序,从这个过程创建的.ipa文件与你创建存档构建并从Xcode导出它时创建的文件不同.
Xcode中导出的.ipa有一个'Payload'文件夹,一个'Symbols'文件夹(可能是可选的)和一个'WatchKitSupport'文件夹.从xcrun生成的ipa没有'Symbols'或'WatchKitSupport'文件夹.在此处查看有关结构的更多信息:https://stackoverflow.com/a/29400301/327386
我在SO上看过这篇文章:https://stackoverflow.com/a/19856005/327386,它有命令存档和导出.ipa版本(类似于Xcode进程),但即使这样也没有创建有问题的新文件夹.
有没有人知道是否有办法使用命令行工具创建一个等同于Xcode创建的.ipa文件?我没有找到任何官方文件
确切的问题
xcodebuild -exportArchive无法使用Watch Extension进行有效的IPA,这是一个Apple bug(http://openradar.appspot.com/20898925).
官方(Xcode 7)解决方案
Apple使用命令-exportOptionsPlist标志在Xcode 7中解决了这个问题xcodebuild -exportArchive.您可以在本文中找到有关它的更多详细信息.
非官方(Xcode 6)解决方案
有问题的解决方法.如果紧急,那么你可以玩它们,但我找不到适用于每个人的解决方法(基于论坛讨论).
我也面临同样的问题。命令行工具 exportArchive 在将存档导出到 ipa 时缺少所需的 Watchkit 支持文件夹。我尝试使用下面的 shell 脚本来解决这个问题。
https://gist.github.com/phatblat/6eb8895e2202f796960e
您可以从 Jenkins 构建脚本中调用上述 shellscript,如下所示。
<exec executable="/bin/bash" failonerror="true">
<arg value="${root.dir}/buildscripts/package-ida.sh" />
<arg value="${build.dir}/APP_NAME.xcarchive" />
<arg value="${build.dir}/APP_NAME.ipa" />
</exec>
Run Code Online (Sandbox Code Playgroud)
现在,您将能够在 ipa 有效负载中看到 WatchKit 支持文件夹,并且您的应用商店应用程序验证也将使用生成的 Jenkins 构建成功。
| 归档时间: |
|
| 查看次数: |
6686 次 |
| 最近记录: |