2016-08-15 3 views
13

は面白いことに直面した権限のローカライズ(https://forums.developer.apple.com/thread/49951iOSの10、あなたがアプリに尋ねるすべての許可についての説明を提供しなければならないXcodeの8から始めてiOS版10のためのアプリを準備中に記述

すべてが私ならば良いようだが、どのようなこの説明をローカライズしますか?

私はそれをInfoPlist.stringsの中に置くと、アプリはクラッシュし続けます。しかし、InfoPlist.stringsInfo.plistに配置すると、アプリは常にInfo.plistから説明を受け取りますので、ローカリゼーションは行われません。

多分誰かが解決策を持っています。ありがとう:)

+1

デバイス& 'NSCameraUsageDescription' /' NSPhotoLibraryUsageDescription'を指定した場合(Xcode 8 beta 5、iOS 10 beta 5)は 'InfoPlist.strings'の中に文字列を置くだけで正常に動作します。ローカライズしようとしている使用法の説明はありますか? –

+1

それはキーの周りの引用符で問題があるようです。 'NSPhotoLibraryUsageDescription =" Value ";を試してください。 –

+0

@RomanErmolovビデオの問題は、stackoverflow(キープレフィックスと説明の間に奇妙な記号があります)からキーをコピーすることでした。私のキーを確認する –

答えて

15

私はInfoPlist.stringsがどのターゲットのメンバーでもないことに気が付いたので、私は同じ問題に直面し、解決できました。

ファイル上にTarget Membershipを設定すると(Copy Bundle Resourcesのビルドフェーズに配置されます)、修正されました。


そして、ここでグーグル誰のため:までhttps://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/AboutInformationPropertyListFiles.html

スクロール

+0

マーティンに感謝しますか?私は 'Target Membership'を設定した後、実際にplistファイル全体をローカライズできるようになりましたか? cheers ... – Fattie

+0

はい、それぞれの言語の '' InfoPlist.strings'に '' key "=" string ";'を置くことができ、 '' Info.plist'で提供された値の代わりに使用されます。私の実験ではplist自体にキーを入れる必要はなかったのに、とにかく 'Info.plist'にデフォルト値を置くことをお勧めします。 'InfoPlist.strings'の名前もこの答えのコメントを示すのに重要です:http://stackoverflow.com/questions/25736700/how-to-localise-a-string-inside-the-ios-info-plist -file。 –

+1

同じ問題ですが、私のInfo.stringsファイルがすでにターゲットに追加されています。それにもかかわらず、Info.plistのテキストが出力されました。 –

2

「をローカライズプロパティリストが値」私はそれが間違ったファイル名を使用することによって引き起こされた、同様の問題があった:

InfoPList.strings 

の代わりに

InfoPlist.strings 

この情報は誰かにとって役に立ちそうですか?

+0

このファイル名の違いは何ですか? – moonvader

+0

差異は 'InfoPlist'のタイプミスです – RaffAl

0

以下は、info.plist変数をローカライズする手順です。

i。プロジェクトの下に "InfoPlist.strings"という名前の新しいファイルを作成します。

ii。プロジェクトをクリックして設定を開きます(対象があなたのアプリの場合は、開いたウィンドウでプロジェクトをクリックするだけです) "ローカリゼーション"で必要な言語を追加してください。

iii。 InfoPlist.stringsファイルに移動して、ローカライズされた言語のチェックボックスをオンにします。 (xcodeの右上にある.stringsファイルをクリックした後にローカリゼーションが表示されない限り、「ユーティリティ」ボタンを押してください。

iv。 InfoPlist.strings内のすべてのローカリゼーション言語に必要な "key" = "value"のペアを追加します。 info.plistの行に属するキーを見つけることが困難な場合は、info.plistを右クリックしてOpen As - > Source Codeを選択すると、すべての行パラメータがソースコードのキーとして表示されます

関連する問題