2016年9月21日水曜日

Info.plistをローカライズする

注意:結論から言うとうまくいきませんでした。

iOS10、Xcode8からプライバシー関連の設定が増え、例えば画像ライブラリにアクセスするコードを書く場合に、あらかじめInfo.plistの必要な項目にユーザーに伝える使用目的を明示するメッセージを書かなければいけなくなった。
(書いたメッセージがアクセス時にアラートで表示される)

ま、そりゃいいんだけど、そこに日本語用、英語用なんて項目はないんで、Info.plist自体をローカライズして日本語用、英語用を作ることになる。
やり方としてはInfo.plistを選んで、右側のインスペクタからLocalize...ボタンを押して云々なのでまあわかるだろう。

でもそれやってビルドしようとしたら、
error: could not read data from 'パス/アプリ名-Info.plist': The file "アプリ名-Info.plist" couldn't be opened because there is no such file.
というエラーが出てビルドできなかった。
メッセージの内容としてはInfo.plistが見つかんないから開けねぇぞってことだけど、ちゃんとplistファイルはある。

調べたところ、Xcodeの以前からのバグで、パスがおかしいんだそうな。
プロジェクトのパッケージ内容を開いてproject.pbxprojを開き、中の該当部分を絶対パスから相対パスに書き直すといいとあったんで見たけど、どうも最初から相対パスになってるっぽい。(参考リンクもう一つ)
一度Localizeのチェックを外し、再度チェックすると直るとか書いてあったんだけど、試してもダメ。

それ以外の情報もないようなので、メッセージは英語と日本語両方入れておく。ダサダサ〜。
やむを得ずこうなった
後で解決方法がわかったら直します。
こんなとこで止まってリリースを遅らしちゃなんねぇ!!

0 件のコメント:

コメントを投稿