【发布时间】:2012-03-04 17:26:02
【问题描述】:
我一直在使用 shell 脚本作为我的 Xcode 构建过程的一部分来增加 plist 文件中的构建号,但是它使 Xcode 4.2.1 经常崩溃(关于目标的错误不属于一个项目;我猜 plist 文件的更改在某种程度上使 Xcode 感到困惑)。
Shell 脚本这样做是为了使内部版本号仅在文件比 plist 文件更新时增加agvtool(因此只是构建并没有增加值):
if [ -n \"`find ProjDir -newer ProjDir/Project-Info.plist`\" ]; then agvtool -noscm next-version -all; else echo \"Version not incremented\"; fi
有没有办法增加不会破坏 Xcode 的内部版本号(在 plist 文件中或其他任何地方)?
最终编辑:我现在使用我刚刚在github 上公开的python 脚本来做这种事情。它没有很好的记录,但应该不难解决。作为奖励,这个 repo 还包含一个有用的脚本,可以自动将 3rd 方库捆绑到应用程序包中。
【问题讨论】:
-
如果有人感兴趣:我稍微修改了脚本以使用十六进制数字而不是十进制数字 - gist.github.com/sascha/5398750
-
您可以直接将此脚本添加为预构建操作,无需调用外部脚本。不要在构建阶段运行此脚本; Xcode 只会每隔一次构建复制更新的 plist。
-
开箱即用我收到“权限被拒绝”错误,所以我想把这个问答指向遇到同样情况的其他人:stackoverflow.com/q/9850936/519030
-
此脚本失败,退出代码为 1。谁能帮我解决这个问题?
-
@Tander 看起来您没有将 plist 文件作为参数提供给脚本。
标签: xcode shell version xcrun agvtool