Xcode 9で既存アプリの不具合対応およびiPhone X&iOS11対応を行っていたのですが、アプリがクラッシュするケースがあったのでシェアしたいと思います。
クラッシュするケースは、iOS11において撮影した写真やライブラリの写真を保存する場合に起きるようで、以下のようなエラーメッセージが表示されました。
This app has crashed because it attempted to access privacy-sensitive data without a usage description. The app’s Info.plist must contain an NSPhotoLibraryAddUsageDescription key with a string value explaining to the user how the app uses this data.
確認してみるとiOS11以降ではアプリが写真を保存する場合には「NSPhotoLibraryAddUsageDescription」の説明が必要になったようです。
Info.plistファイルに説明を追加
クラシュを回避するためInfo.plistファイルにkey「Photo Library Additions Usage Description」を追加します。Value(説明)も忘れずに記入しておく。
これで写真を保存してもクラッシュすることはなくなります。
まとめ
確認した範囲だと既存のアプリ(Xcode9より前)にリリースしたアプリに関しては、iOS11のiPhoneで動作させてもクラッシュは発生しない模様。
そのため、今後Xcode9を使ってiOS11対応を行う場合に対応すれば良さそうです。ひとまず一安心といったところでしょうか。
この記事へのコメントはありません。