我使用这个脚本在Xcode 4.5.2(应用程式iOS版)更新生成过程中CFBundleVersion:
#!/bin/bash
buildNumber=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$INFOPLIST_FILE")
buildNumber=$(($buildNumber + 1))
/usr/libexec/PlistBuddy -c "Set :CFBundleVersion $buildNumber" "$INFOPLIST_FILE"
它似乎工作正常,每次我建立我的应用程序“内部版本号”(CFBundleVersion)增加SES以1
奇怪的行为发生在我尝试检索CFBundleVersion编程方式使用:
[[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleVersion"]
或
[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"]
而这就是我得到:
CFBundleVersion 1 -> I get 1
CFBundleVersion 2 -> I get 1 odd
CFBundleVersion 3 -> I get 3
CFBundleVersion 4 -> I get 3 odd
CFBundleVersion 5 -> I get 5
CFBundleVersion 6 -> I get 5 odd
CFBundleVersion 7 -> I get 7
CFBundleVersion 8 -> I get 7 odd
CFBundleVersion 9 -> I get 9
CFBundleVersion 10 -> I get 10
CFBundleVersion 11 -> I get 10 odd
CFBundleVersion 12 -> I get 12
CFBundleVersion 13 -> I get 13
CFBundleVersion 14 -> I get 14
CFBundleVersion 15 -> I get 14 odd
CFBundleVersion 16 -> I get 16
CFBundleVersion 17 -> I get 16 odd
CFBundleVersion 18 -> I get 18
CFBundleVersion 19 -> I get 18 odd
CFBundleVersion 20 -> I get 20
CFBundleVersion 21 -> I get 21
CFBundleVersion 22 -> I get 22
and so on...
输出每次都会改变,但奇怪的行为在模拟器和设备上仍然存在。 如果我删除脚本并手动放置CFBundleVersion,一切都会顺利进行。
有人知道为什么吗?我该如何解决它? 谢谢!
我有类似的问题,它有助于将“运行脚本”作为第二步“构建阶段”。当我添加了这个步骤后,默认情况下它是默认的,然后我有差异2或3. –