どうも筆者です。
タイトルの通りです。
上の画像のように端末の設定からバージョンの確認ができるようにしたいと思います。
Settings.bundleの設定
プロジェクト内にSettings.bundleを作ります。
Settings.bundle内はこのようになっています。
Root.plist を「Open As」 > 「Source Code」と選択し、ソースコードを編集できるようにします。
ソースコードを表示できたら以下のコードを書きましょう。
<?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>概要</string> <key>Type</key> <string>PSGroupSpecifier</string> <key>FooterText</key> <string>Copyright © 2020 Yotubarail</string> </dict> <dict> <key>Type</key> <string>PSTitleValueSpecifier</string> <key>DefaultValue</key> <string>1.0.0</string> <key>Title</key> <string>バージョン</string> <key>Key</key> <string>sbVersion</string> </dict> </array> <key>StringsTable</key> <string>Root</string> </dict> </plist>
Copyrightの部分は各自で変えてください。
概要やバージョンと書かれた部分の言葉も自由に変えられます。
Run Scriptを追加
Xcode内のBuild Phasesに新しくRun Scriptを追加してください。
左上の+ボタンから「New Run Script Phase」で追加できます。
追加したらRun Script内に以下のコードを書きましょう。
APP_VERSION=$(/usr/libexec/PlistBuddy -c "Print CFBundleShortVersionString" $PRODUCT_SETTINGS_PATH) /usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:1:DefaultValue ${APP_VERSION}" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Settings.bundle/Root.plist"
ビルド
これで準備は完了です。
ビルドしてみましょう。
設定の中にプロジェクトで作ったアプリが入っていて、開くと画像のようになっていれば成功です。
これの応用でCocoa Podsなどで入れた外部ライブラリのライセンスを一覧で表示することもできますが、自分で作っていくよりLicensePlistを使用するのが楽です。