运行 post 签名脚本 Xcode 12
Run a post-signing script in Xcode 12
Xcode 12 在构建的所有步骤结束后执行二进制签名,包括任何自定义 post-构建步骤。
但是我需要运行一个脚本在签名后执行(例如,用于将签名的二进制文件复制到别处——但也用于其他事情)。
在阅读了一些 Whosebug 问题和回复后,我尝试了以下(分别):
- 创建一个包含两个子目标的聚合目标,(1) 执行构建和签名,(2) 运行最终 post 构建。
- 使用方案的构建 post-action 来 运行 最终的 post 构建。
两者都不是开箱即用的,问题是:
- 聚合目标解决方案(如果有效):意味着我必须为我所有的许多项目创建和维护这样一个目标。
- Post-action:没有出现在build transcript中,这使得检测错误非常麻烦。此外,post-action 中的失败不会使构建失败 - 这是绝对不能的。
- 在这两种情况下,自定义用户定义都没有传递到任何步骤,这使我的脚本变得无用,因为它严重依赖于这些定义。
对于 post 签名操作看似微不足道的请求,是否有适当的解决方案?
我找到的解决方法是:作为 post-构建步骤,将二进制文件复制到其他地方,对其执行任何必需的操作,然后手动签名。
Xcode 将签署对我没有用的原始二进制文件。
Xcode 12 在构建的所有步骤结束后执行二进制签名,包括任何自定义 post-构建步骤。
但是我需要运行一个脚本在签名后执行(例如,用于将签名的二进制文件复制到别处——但也用于其他事情)。
在阅读了一些 Whosebug 问题和回复后,我尝试了以下(分别):
- 创建一个包含两个子目标的聚合目标,(1) 执行构建和签名,(2) 运行最终 post 构建。
- 使用方案的构建 post-action 来 运行 最终的 post 构建。
两者都不是开箱即用的,问题是:
- 聚合目标解决方案(如果有效):意味着我必须为我所有的许多项目创建和维护这样一个目标。
- Post-action:没有出现在build transcript中,这使得检测错误非常麻烦。此外,post-action 中的失败不会使构建失败 - 这是绝对不能的。
- 在这两种情况下,自定义用户定义都没有传递到任何步骤,这使我的脚本变得无用,因为它严重依赖于这些定义。
对于 post 签名操作看似微不足道的请求,是否有适当的解决方案?
我找到的解决方法是:作为 post-构建步骤,将二进制文件复制到其他地方,对其执行任何必需的操作,然后手动签名。
Xcode 将签署对我没有用的原始二进制文件。