面倒くさい作業にはテンプレが欲しいものです。今回はiOSアプリを開発する上で避けては通れない「外部ライブラリのライセンス表記」とオマケで「アプリのバージョン表記」のテンプレートを紹介します。
なお、Xcode 5.0.2 での実施内容です。
設定アプリ上にアプリ専用の項目を設ける
設定アプリ上にアプリ専用の項目を設ける事が可能です。方法は以下の様なファイル構成の「Settings.bundle」バンドルファイルをXcodeプロジェクト上に追加します。Settings.bundleのテンプレートは以下のリンク先から「iOS_Settings_Template.zip」をDLし、解凍する事で入手出来ます。
https://skydrive.live.com/redir?resid=2CD69F09DD371380%211904
これだけで設定アプリのトップ画面下に項目が追加されます。ただ今のままだと現在のバージョンが表示されず、ライセンス情報もアプリに合っていません。もう少し作業が必要となります。
アプリ自体のライセンス表記を記述
Xcode上から、Root.plistファイルの「Preference Items/Item0/FooterText/Value」に記述されている「Copyright © hyoromo All Rights Reserved.」の内容を変更しておいてください。不要な場合はItem0は削除してください。
外部ライブラリのライセンス情報を記述
Xcode上から、Licenses.plistファイルの PreferenceSpecifiers に1ライセンス毎にItemを追加して記述を行います。Titleにライブラリ名、FooterTextにライセンス情報を記述していってください。
テンプレートは「SVProgressHUD」ライブラリを例として書いています。アプリで未使用な場合は削除してください。
アプリのバージョンを記述
アプリをリリースする度にバージョン変更すると修正漏れが発生する可能性があります。
そこで Run Script を使ってビルド毎にバージョン情報更新を行わせます。
Run Script 項目の追加
Xcodeの画面上部にあるメニュー上から「Editer > Add Build Phase > Add Run Script Build Phase」を行います。
これをする事で Run Script 項目が追加されます。
Run Script 追加
「プロジェクト選択 > TARGETS[プロジェクト名] > Build Phases」を選択します。
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"
参照
これでバージョン&ライセンス情報の書き方は終わりです。
この方法は以下のサイトを参考にして書いています。参考にしているというレベルじゃなくだいたい同じなのですが、今回の趣旨はテンプレート化したかった事です。
- iOSの設定アプリにバージョンとライセンスを表示する方法
http://miyakeryo.com/?p=408