How can I display the application version revision in my application's settings bundle?

前端 未结 13 790
一个人的身影
一个人的身影 2020-11-29 15:20

I would like to include the application version and internal revision, something like 1.0.1 (r1243), in my application\'s settings bundle.

The Root.plist file contai

13条回答
  •  無奈伤痛
    2020-11-29 15:52

    Using Ben Clayton's plist https://stackoverflow.com/a/12842530/338986

    Add Run script with following snippet after Copy Bundle Resources.

    version=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" "$PROJECT_DIR/$INFOPLIST_FILE")
    build=$(/usr/libexec/PlistBuddy -c "Print CFBundleVersion" "$PROJECT_DIR/$INFOPLIST_FILE")
    /usr/libexec/PlistBuddy -c "Set PreferenceSpecifiers:1:DefaultValue $version ($build)" "$CODESIGNING_FOLDER_PATH/Settings.bundle/Root.plist"
    

    Appending CFBundleVersion in addition of CFBundleShortVersionString. It emit version like this:

    By writing to $CODESIGNING_FOLDER_PATH/Settings.bundle/Root.plist instead of the one in $SRCROOT have some benefits.

    1. It dosen't modify files in working copy of repository.
    2. You don't need to case path to Settings.bundle in $SRCROOT. The path may vary.

    Testing on Xcode 7.3.1

提交回复
热议问题