【发布时间】:2019-06-23 14:12:39
【问题描述】:
我正在尝试使用 Jenkins 对我的 Unity 应用程序进行签名和存档。我安装了 Xcode jenkins 插件,除了一个奇怪的问题外,一切似乎都运行良好。
在 xcodebuild 阶段,应该对存档进行签名时,我收到以下错误:
错误:找不到签名证书“iOS 开发”:没有“iOS 开发”签名证书匹配团队ID“QF6V2M666X”与 找到了私钥。 (在目标“Unity-iPhone”中)
现在的问题是我不是为了开发而构建,而是为了生产。我使用了一个生产配置文件,它指向生产证书。团队 ID 是生产团队 ID(出于安全原因在此处更改)。这是构建输出的另一部分:
要调用 xcodebuild:, scheme: Unity-iPhone, sdk: DEFAULT, 项目:默认,配置:发布,清洁:否,存档:是, 控制台日志:是,symRoot:默认,buildDir:默认, 开发团队ID:QF6V2M666X
[sr-ios] $ /usr/bin/xcodebuild -scheme unity-iPhone -configuration 发布存档 -archivePath
当我在 Xcode 中打开项目时,我可以看到由于某种原因 Xcode 在代码签名身份部分中选择了“IOSDeveloper”,而不是“IOSDistribution”(或配置文件中的实际证书):
我不知道这是否可以从 Jenkins 中更改,但我认为 Xcode 应该从配置文件中选择它。
【问题讨论】:
-
嗯,Bamboo 也有类似的问题。在那里,我创建了一个手动更改所有签名的脚本。但我认为 fastlane 有一种更简单的方法。
-
@m1sh0 你知道代码签名身份设置是否以及存储在 xcode 项目中吗?
-
我记不太清了,但是如果您使用 git(或 van 或类似的东西),您会发现它很容易。只需打开您的代码的最新版本并从 Xcode 更改代码签名,而不是git status, git diff 会告诉你确切的位置。之后,您需要脚本来替换该值。
标签: ios xcode unity3d jenkins code-signing