开发者

Xcode script on build to update version number string in Settings.bundle

开发者 https://www.devze.com 2023-03-23 08:42 出处:网络
We\'d like to put the current version of the app as a string in the bottom of our options in Settings.app, as a section footer.

We'd like to put the current version of the app as a string in the bottom of our options in Settings.app, as a section footer.

I haven't worked with build scripts in Xcode very much, so i need some help on

  1. how to fetch the current version, pr开发者_C百科obably from the info.plist
  2. how to replace a static string, for example CURRENT_VERSION_NO in the Root.plist inside the Settings.bundle

Thanks Maciej.


You can add a run script phase for your target (build phases > add build phase > add run script). Then you will have a shell script where you could use PlistBuddy to get the version string and set it in your other plist.

For example :

/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH"

will display the version string of your app. If you record this in a variable and set the value on the other plist using Plist Buddy -c set, you will be done.

This would give something like :

versionString=$(/usr/libexec/PlistBuddy -c "print:CFBundleVersion" "$CONFIGURATION_BUILD_DIR/$INFOPLIST_PATH")
/usr/libexec/PlistBuddy -c "Set CURRENT_VERSION_NO $versionString" "$THE_PATH_TO_YOUR_PLIST_FILE"

I never used PlistBuddy -c copy but it should allow you to do this in only one line.

0

精彩评论

暂无评论...
验证码 换一张
取 消