Open1

iOSの設定に謝辞とバージョンをいれる

ぼんぼん

iOSの設定に謝辞とバージョンをいれる

参考
https://dev.classmethod.jp/articles/settings-bundle-acknowledgements/
https://software.small-desk.com/development/2020/04/02/acknowlegement/
https://dev.classmethod.jp/articles/xcode-11-app-version/

1. プロジェクト直下にSettings Bundle 作成(Add New File)

2. Settings.bundle の下にRoot.plist を作成

項目

  • グループのタイトル:About
  • フッターにコピーライト
  • バージョン項目
  • Acknowledgements

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>
			<key>FooterText</key>
			<string>Copyright © 2023 アプリ名など All Rights Reserved.</string>
		</dict>
		<dict>
			<key>Type</key>
			<string>PSTitleValueSpecifier</string>
			<key>DefaultValue</key>
			<string>1.0.0(1)</string>
			<key>Title</key>
			<string>Version</string>
			<key>Key</key>
			<string>sbVersion</string>
		</dict>
		<dict>
			<key>Type</key>
			<string>PSChildPaneSpecifier</string>
			<key>Title</key>
			<string>Acknowledgements</string>
			<key>File</key>
			<string>Acknowledgements</string>
		</dict>
	</array>
	<key>StringsTable</key>
	<string>Root</string>
</dict>
</plist>

3. さらに、同じくSettings Bundleの配下に Acknowledgements.plist を作成する

Acknowledgements.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>Type</key>
                <string>PSGroupSpecifier</string>
                <key>Title</key>
                <string>acknowledgement</string>
                <key>FooterText</key>
                <string>
										HERE IS LICENSES TEXT
                </string>
            </dict>
        </array>
    </dict>
</plist>

4. バージョンとビルド番号を書き出すスクリプトを設定

  • ターゲット > Build Phases > Run Script を追加

設定するスクリプト

/usr/libexec/PlistBuddy -c "Set :PreferenceSpecifiers:0:DefaultValue ${MARKETING_VERSION}(${CURRENT_PROJECT_VERSION})" "${BUILT_PRODUCTS_DIR}/${WRAPPER_NAME}/Settings.bundle/Root.plist"

※ 注意
Xcode11から、infoの CFBundleVersionCFBundleShortVersionString を見に行くスクリプトだとビルドでコケるので、上記の CURRENT_PROJECT_VERSIONMARKETING_VERSION を使う。
すると↓ここから取ってくる