Root.plistのバージョンを更新する実行スクリプトを作成しようとしています。これはスクリプトです
version =
/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を参照してください。ただし、電話の古いアプリが削除され、新しいインストールが行われると、アプリは正常にインストールされ、電話の設定に正しいバージョンが表示されます。xcode4.5.2を使用しています。誰か助けてください