我正在尝试编写一个运行脚本来更新 Root.plist 中的版本。这是脚本
版本=
/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $SRCROOT/AppName/AppName-Info.plist
/usr/libexec/PlistBuddy "$SRCROOT/AppName/Settings.bundle/Root.plist" -c "set PreferenceSpecifiers:1:DefaultValue $version"
设置包中的 Root.plist 是
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList- 1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>Title</key>
<string>About</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>DefaultValue</key>
<string>1.0.24</string>
<key>Key</key>
<string>version_preference</string>
<key>Title</key>
<string>Version</string>
<key>Type</key>
<string>PSTitleValueSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Root</string>
</dict>
</plist>
我已按照此答案的说明进行操作。创建 .ipa 时版本号更新成功,我可以在 iTunes 中看到新版本。但是当我尝试升级应用程序时,设备显示'1 项无法同步。有关更多信息,请参阅 iTunes。但是,如果手机上的旧应用程序被删除并重新安装,则应用程序安装成功并且正确的版本出现在手机设置中。我正在使用 xcode 4.5.2 谁能帮忙