Edited at

iOSアプリでカメラ使用のためにInfo.plistに追加してあるのにクラッシュしたのは記号が原因だった

今回、受託で開発しているアプリはちょっと実装がされている段階のものをひきとったのですが、

カメラ機能を実装していざ実機で確認してみようかと思ったときにクラッシュした出来事で得た教訓です。


Info.plistには追加したのに、カメラを使おうとするとなぜかクラッシュする

カメラ機能を使うときは、Info.plistに1行追加して、ユーザーに使用許可を取らなくてはアプリがクラッシュしますよね?

今回、きちんと追加してあるはずなのにクラッシュしました。

Typoはなさそうです。なぜでしょう?


Privacyの記号が間違っていた

正: Privacy - Camera Usage Description

誤: Privacy – Camera Usage Description

お気づきでしょうか?

本来ハイフンなところが、en-dash(–)となっていました!

ちなみにこの記号は、option と - を同時押しで入力できるそうです。


ただし以下の見分けかたはTypeが選択不可能にきちんとなっているか

スクリーンショット 2019-08-11 23.49.29.png

この画像でいうと、上の1行は正しくありません(末尾にスペースを追加しました)

正しくないとTypeが選択可能になってしまうので、Stringが白くなっていますね。

対して、きちんと記述されたしたの行はTypeが選択不可能なので、Stringがグレーになっています。

以上、備忘録です。