2012-09-24 6 views
25

アップルはアプリごとに新しいプライバシー設定を導入し、ユーザーが連絡先、カレンダー、写真、およびリマインダーにアクセスできるかどうかをユーザーが判断できるようにしました。アプリケーションがこれらのリソースの1つに最初にアクセスしようとすると、UIAlertViewが表示されます。これは、アプリケーションがロケーションアクセスを必要としているときの既知のメカニズムと同様です。iOSをローカライズする方法6新しいInfo.plistプライバシー目的の文字列?

目的の文字列を設定して、アプリにアクセスが必要な理由をユーザーに知らせることもできます。しかし、これはInfo.plistのキーを使って行われます。連絡先の "プライバシー - 連絡先使用の説明"(NSContactsUsageDescription)。

これらの値をローカライズするにはどうすればよいですか?場所の目的のテキストについては、NSLocalizedString(...)を使用してCLLocationManagerインスタンスの目的プロパティを設定しました。 Info.plistの新しいキーと似たようなことをするにはどうすればいいですか?

補遺: 新しいプライバシー・キーは、以下のリンクに記載されていますが、サマリー列がローカライズ可能であるとして、それらを表示されません。 https://developer.apple.com/library/mac/#documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html#//apple_ref/doc/uid/TP40009251-SW14

答えて

44

サポートファイルのローカライズされたInfoPlist.stringsにキーを追加します。 目的のためには次のようになります。

/* Localized version of location services purpose for Info.plist */ 
NSLocationUsageDescription = "here is your purpose to use location service"; 
+0

Xcode 3.xで最初に作成されたプロジェクトで作業している場合は、「InfoPlist.strings」ファイルはありません。したがって、プロジェクトに手動でファイルを追加する必要があります。 – Tafkadasoh

+1

目的のキーをここで検索してください(最終更新日:2014年2月 - InfoPlist.stringsファイルの**キー**値または通常のInfo.plistファイルの** Xcode名**):[情報プロパティリストキーリファレンス:Cocoa Keys](https://developer.apple.com/library/ios/documentation/general/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html) – leanne

11

あなたはInfoPlist.stringsファイルをローカライズしてのInfo.plistをローカライズ。

+0

私のためには機能しません。ローカライズ後Info.plistのビルドに失敗し、「/home/username/Git/iOS/AppName/Resources/AppName-Info.plist」のデータを読み込めませんでした:「AppName-Info.plist」ファイルは作成できませんでしたそのようなファイルが存在しないため開かれます。 – Tafkadasoh

+0

.stringsファイルではなく、Info.plistファイルを開こうとしているようです。文字列ファイルはそれぞれのローカライズされたフォルダにあります。この例を見てみましょうhttps://github.com/Abizern/SimpleLocalisationTesting iOSプロジェクトでは、ローカライズされた.lprojフォルダ内のInfoPlist.stringsファイルを使用して、さまざまなローカライゼーションに異なるアプリ名を使用する方法を確認できます。 – Abizern

+0

これはCFBundleDisplayNameでは機能しますが、一部でのみ機能します。ホーム画面にはInfoPlist.stringsのローカライズされた文字列が表示されますが、値を[[[[NSBundle mainBundle] infoDictionary] objectForKey:@ "CFBundleDisplayName"] 'でプログラムで照会したい場合、これは機能しません。 NSContactsUsageDescriptionのローカライゼーションに関しては、ダイアログが一度しか表示されないので、これが動作しているかどうかはテストできません。 (理由:アプリケーションを削除して、アプリケーションが連絡先にアクセスすることが許可されている場合、システムがユーザーの決定を忘れることはありません) – Tafkadasoh

関連する問題