ios - 如何使用 Xcode 服务器导出临时存档

标签 ios provisioning-profile xcode-server

我正在使用 Xcode 服务器 (Xcode 9 beta 6) 并定义了一个机器人来使用我的临时配置文件归档和导出临时构建。我已关闭项目中的自动签名,并在 bot Arguments 窗口中为 xcodebuild 定义了参数,包括 DEVELOPMENT_TEAM、PROVISIONING_PROFILE、AD_HOC_CODE_SIGNING_ALLOWED、BUNDLE_ID、CODE_SIGN_IDENTITY 和signingStyle。

当我运行集成时,构建成功并创建了有效的存档,但导出失败并出现错误,提示应用程序“需要配置文件”。恢复建议是“将配置文件添加到导出选项列表中的“provisioningProfiles”字典中”。

我在exportOptions.plist中添加了“provisioningProfiles”字典,但我不知道如何让机器人使用该列表?当我在集成结束时检查日志时,我看到机器人已经创建了它自己正在使用的 ExportOptions.plist。我看到该列表使用“与存档相同”方法,所以我不知道为什么它不知道要使用哪个配置文件。

我尝试添加一个预构建脚本,将我的 plist 复制到机器人工作空间,但机器人会忽略它并在集成过程中用自己的文件覆盖 plist。

我还尝试在机器人参数列表上定义导出选项.plist 的路径,但该路径被忽略,机器人仅使用自己的 plist 进行导出。

告诉机器人使用某个exportOptions.plist的方法是什么? (为什么“与存档相同”方法不起作用?)

最佳答案

这就是我为让机器人进行手动签名的临时构建所做的事情。

首先在 Xcode 上进行存档,并从 Organizer 手动导出临时构建。这样我就可以保证创建的 ExportOptions.plist 是有效的。

然后我只是告诉机器人使用此 plist,即机器人配置 -> 存档 -> 导出 -> 使用自定义导出选项 Plist 并选择该 plist。

之后我仍然需要在机器人参数列表中设置三个项目(传递给 xcodebuild 的参数)
DEVELOPMENT_TEAM=Q76YSCRTM8
PROVISIONING_PROFILE=71bfe232-88e0-43a0-b9f5-f99fa87e09ee3
CODE_SIGN_IDENTITY="iPhone 分销:我的公司"

关于ios - 如何使用 Xcode 服务器导出临时存档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46125046/

相关文章:

ios - 企业应用程序的内部分发与临时分发之间有什么区别?

ios - 删除 UISearchBar 的上下边框和阴影?

objective-c - 如何以编程方式将标题设置为标签栏项目?

ios - 向 iOS 应用程序添加应用程序内购买权利会扰乱代码签名

ios - 发生未指定的错误。无法为应用商店创建新的配置文件

ios - Xcode 服务器 : No services available 问题

ios - 如何识别错误/警告是否是使用 swiftlint 规则创建的

ios - 将变量的值保存在文件 xcode ios 中

ios - 来自 Performance Wise : Class Computed Property vs Stored Property

ios - Xcode 服务器 ibtool 构建失败