在 Xcode 12 中运行签名后脚本

问题描述

Xcode 12 在构建的所有步骤结束后执行二进制签名,包括任何自定义的构建后步骤。

但是,我需要在签名后运行要执行的脚本(例如,用于将已签名的二进制文件复制到其他地方 - 但也用于其他事情)。

在阅读了一些 StackOverflow 问题和回复后,我尝试了以下(单独):

  1. 创建一个包含两个子目标的聚合目标,该目标 (1) 执行构建和签名,(2) 运行最终的后期构建。
  2. 使用方案的构建后操作来运行最终的后构建。

两者都不是开箱即用的,问题是:

  1. 聚合目标解决方案(如果有效):意味着我必须为我的许多项目创建和维护这样的目标。
  2. Post-action:不会出现在构建记录中,这使得检测错误非常麻烦。此外,后期操作中的失败不会使构建失败 - 这是绝对禁忌。
  3. 在这两种情况下,自定义用户定义都不会传递到任何步骤中,这使得我的脚本毫无用处,因为它严重依赖于这些定义。

对于看似微不足道的签名后操作请求,有什么合适的解决方案吗?

解决方法

我找到的解决方法是:作为构建后的步骤,将二进制文件复制到别处,对其执行任何必需的操作,然后手动对其进行签名。

Xcode 会对我没有用的原始二进制文件进行签名。

相关问答

Selenium Web驱动程序和Java。元素在(x,y)点处不可单击。其...
Python-如何使用点“。” 访问字典成员?
Java 字符串是不可变的。到底是什么意思?
Java中的“ final”关键字如何工作?(我仍然可以修改对象。...
“loop:”在Java代码中。这是什么,为什么要编译?
java.lang.ClassNotFoundException:sun.jdbc.odbc.JdbcOdbc...