Xcode 8 在构建之前更新多个目标的构建号

And*_*rea 5 bash xcode build-script ios xcode8

我有一个有 3 个目标的应用程序:

  • 应用目标
  • 消息应用
  • 应用扩展

我正在尝试更新每个构建的构建号,所有目标的这个数字必须相等,否则 App Store 将使构建无效。
我尝试过不同的方法,这也是一个,但我不喜欢它,因为我必须硬编码的plist文件名称到脚本,而我更愿意把它尽可能通用。
在寻找不同的解决方案时,我从 Apple 找到了这个名为avgtool 的工具。
我能够创建一个脚本,为所有目标以相同的值更新内部版本号,但这似乎只有当我将它添加到列表顶部的构建阶段时才有效。问题是这个脚本必须在构建之前启动。
为此,必须将其添加到Edit Scheme->Build->Pre-Actions 但是当我在这里写它时,它没有任何效果。

#!/bin/bash
buildNumber=$(date +%s)
echo "$buildNumber"
xcrun agvtool new-version -all "$buildNumber"
Run Code Online (Sandbox Code Playgroud)