自动代码签名:我正在使用哪些配置文件?

Automatic code signing: Which profiles am I using?

我想知道当我有一个 Automatic 设置时我实际使用了哪些代码签名身份和配置文件(见屏幕截图)。确定这一点的最简单方法是什么?

如果 Xcode 的自动选择之一的结果对您很重要,那么您可能应该 自己做出选择 禁用 自动功能。

问:为什么 Xcode 不向您显示它 选择的配置文件?

A:因为它还不知道。

直到它实际构建并做出自动选择配置文件然后对应用程序签名的所有必要决定后,它才会知道。 Xcode 团队还没有(而且可能永远不会)将该代码压缩成可以在构建设置中显示工具提示的干运行 版本。

可以 通过 运行 构建 post 构建脚本来发现为您做出了哪些选择,但请参阅我的第一点。

类似于:

/usr/libexec/PlistBuddy -x -c "print :Name " /dev/stdin <<< $(security cms -D -i YourApp.app/embedded.mobileprovision)

尽管检查配置文件的 UUID 可能更安全。

尽管有上述 FUD,构建设置中所做的选择现在变得 一点点 不那么重要了,因为您必须明确选择配置文件并在部署时重新签署应用程序AppStore、Enterprise 和 Ad Hoc 版本。也就是说,如果您有一个自动部署系统,那么使用脚本来检查您的输出二进制文件是否已使用正确的身份进行签名并具有您期望的权利并不是一个糟糕的主意。