Xcode 9 server/bot release build 未使用分发/生产配置文件进行签名(使用自动代码签名)

Posted

技术标签:

【中文标题】Xcode 9 server/bot release build 未使用分发/生产配置文件进行签名(使用自动代码签名)【英文标题】:Xcode 9 server/bot release build does not get signed with distribution/production profile (using automatic code signing) 【发布时间】:2017-10-04 09:24:01 【问题描述】:

问题:

在 Xcode 9 服务器上运行机器人集成时,企业应用不会使用分发(/生产)配置文件进行签名,而是使用开发配置文件进行签名。

情景(/问题):

我已升级到 Xcode 9。所使用的 Apple ID 已加入 Enterprise 计划。项目目标和机器人设置被设置为创建发布目标。

在本地创建存档并将其导出时,应用会使用正确的分发配置文件进行签名。 (使用同一个苹果ID)

以前我不得不关闭自动签名并选择特定的配置文件。 (然后提交该代码..以便机器人集成/签名工作)我不想再这样做了,只需能够使用自动代码签名。

有没有人也遇到过这种行为和/或知道我可以做些什么来让集成机器人使用正确的(分发/生产)配置文件进行签名?

【问题讨论】:

你想明白了吗?我也想知道。 @MattLong nope :S 还没能修复它 @MattLong 找到了解决方案。编辑您的机器人,在“存档”下的配置选项卡下告诉它“使用自定义导出选项 plist”。在该 plist 中设置特定的构建选项、使用哪个团队、应用瘦身以及其他选项。 【参考方案1】:

要使自动签名生效,请编辑您的机器人设置。在“配置”->“存档”下告诉它“使用自定义导出选项 plist”

此导出列表应包含存档、团队 ID 等设置。配置文件应在机器上可用(离线)。

我的 plist 如下所示:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
    <key>compileBitcode</key>
    <false/>
    <key>method</key>
    <string>enterprise</string>
    <key>signingStyle</key>
    <string>automatic</string>
    <key>stripSwiftSymbols</key>
    <true/>
    <key>teamID</key>
    <string>*TEAMID*</string>
    <key>thinning</key>
    <string>&lt;none&gt;</string>
</dict>

【讨论】:

酷。很高兴你让它工作。您在“签名”选项卡中使用什么?您是否选中“允许 Xcode Server 管理我的证书和配置文件”框?您是否在“签名”下的“证书和配置文件”选项卡中为任何证书和配置文件选择“添加到服务器”? @MattLong 对这两个问题都是肯定的 :) 该框已选中,并且确实将正确的证书和配置文件添加到服务器。

以上是关于Xcode 9 server/bot release build 未使用分发/生产配置文件进行签名(使用自动代码签名)的主要内容,如果未能解决你的问题,请参考以下文章

Xcode Server bot 无法使用默认命令读取属性列表

Xcode Server Bot 自动化 Git 拉取

您如何配置 Xcode Server (Bot) 以仅保留 n 个最近的集成?

制作 .ipa 时未使用 Xcode Server Bot 找到代码签名身份

在使用 Xcode Server bot 集成之前复制文件

更改 Xcode Server Bot 的源代码控制凭据?