【iOS】アクセス許可ダイアログの説明文の多言語対応

cat9302346_TP_V

エンジニアのきたがわです。

今回は何度か対応しているけど、その都度調べているな、毎回調べる時間がもったいないなと思う技術メモ的なことをブログにしたためようと思います。

 

はじめに

iOSではアプリがユーザのプライベートな情報にアクセスする際、情報の使用許可を求めるダイアログが表示されます。
例えば、位置情報、カメラ、ライブラリなどです。
開発側はアクセス理由を説明する必要があり、説明はダイアログで行います。
このアクセス理由のダイアログがない場合は、Appleの審査に通らないことがあるので注意です。

ダイアログに関してのAppleのドキュメントはこちらです。

また、このダイアログは言語ごとの用意が必要です。
つまり、アプリを英語と日本語でリリースしている場合、ダイアログも英語と日本語で表示する必要があります。

今回はダイアログの多言語化対応について説明したいと思います。
このブログでは英語と日本語で記載していますが、他の言語でもやり方は同じです。
言語の数だけ対応してください。

 

実際にやってみよう

では、早速やり方を説明します!

1.Locationに言語を追加する

info タブ内の Location に対応言語を追加します。
スクリーンショット 2021-03-17 14.28.46

2.「InfoPlist.strings」ファイルを作成する

①プロジェクトを選択し、右クリック-[New File…]をクリックする。
②”Create a template for your new file:”で下にスクロールして[Strings File]を選択し[Next]をクリックする。
③ファイル名を「InfoPlist.strings」にし、Targets項目に問題ないかを確認して「Create」をクリックする。
※ファイル名は「InfoPlist.strings」固定です。大小一文字でも違うと認識されません。このままコピペして設定してください。
スクリーンショット 2021-03-17 14.34.57

3.「InfoPlist.strings」ファイルにローカライズを設定する

①「InfoPlist.strings」ファイルをクリックする。
②ファイルインスペクタの”Localization”の[Localize…]をクリックする。
③対象の言語を選択し、「Locarize」をクリックする。
スクリーンショット 2021-03-17 14.43.28

4.「InfoPlist.strings」ファイルに文言を設定する

写真のようにKeyとValueで設定します。
※各文言のセミコロンは必須です。忘れないように!
スクリーンショット 2021-03-17 14.55.41

 

ちなみに…Keyはこちら

メディアライブラリへのアクセス : NSAppleMusicUsageDescription
Bluetooth インターフェースへのアクセス : NSBluetoothPeripheralUsageDescription
カレンダーへのアクセス : NSCalendarsUsageDescription
カメラへのアクセス : NSCameraUsageDescription
連絡先へのアクセス : NSContactsUsageDescription
ヘルスデータへのアクセス : NSHealthShareUsageDescription
ヘルスデータの変更 : NSHealthUpdateUsageDescription
HomeKit の設定データへのアクセス : NSHomeKitUsageDescription
位置情報へのアクセス (常に許可) : NSLocationAlwaysUsageDescription
位置情報へのアクセス (使用中のみ許可) : NSLocationWhenInUseUsageDescription
マイクへのアクセス : NSMicrophoneUsageDescription
加速度計へのアクセス : NSMotionUsageDescription
フォトライブラリへのアクセス : NSPhotoLibraryUsageDescription
リマインダーへのアクセス : NSRemindersUsageDescription
Siri へユーザーデータ送信 : NSSiriUsageDescription
Speech Recognition Server へのユーザーデータ送信 : NSSpeechRecognitionUsageDescription

Keyの一覧はAppleドキュメントのこちらを参照してください。

手順は以上です!

 
また、この「InfoPlist.strings」はアプリ名なども設定できます。
グローバル社会の昨今、日本語以外の言語設定が必要になってくるかと思います。
私のメモが皆さんのお役に立てたら嬉しいです^^♪

地方からフルリモートで勤務しているエンジニア。
趣味はカフェ巡り、ゲームをすること。
人生で大切なことは全てマリオが教えてくれた。

Egg Device Application

東京品川のスマホアプリ製作・開発会社です。
一般アプリ業務用アプリからVRアプリまで開発可能。

求人情報

スマホアプリ製作・開発の
相談を受け付けています

メールでのご相談

お電話でのご相談
TEL 03-5422-7524
平日10:00~18:00