HOME > > [iOS10]access privacy-sensitive data without a usage descriptionのエラー

[iOS10]access privacy-sensitive data without a usage descriptionのエラー

事象

iOS10でSpeech.frameworkを使った音声認識をしようとしたら下記のエラーが発生してアプリが落ちてしまいました。

This app has crashed because it attempted to access privacy-sensitive data without a usage description.  The app's Info.plist must contain an NSSpeechRecognitionUsageDescription key with a string value explaining to the user how the app uses this data.

ios privacy sensitive error

このエラーについて対処法を教えてください。

回答

自己解決しました。iOS10になりユーザデータにアクセスする場合にはinfo.plistに許可の設定を記述しないといけなくなり、それを設定していないと今回のエラーが表示されます。

今回はマイクと音声認識の機能のアクセス許可を追加すれば改善します。

<key>NSMicrophoneUsageDescription</key>
<string>英会話の質問の解答のためにマイクを利用します。</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>英会話の質問の解答のために音声認識を利用します。</string>

ちなみに下記の機能にアクセスする場合にinfo.plistに記述しないといけないようです。

アクセスしたい機能info.plistに設定するキー
1メディアライブラリへのアクセスNSAppleMusicUsageDescription
2Bluetooth インターフェースへのアクセスNSBluetoothPeripheralUsageDescription
3カレンダーへのアクセスNSCalendarsUsageDescription
4カメラへのアクセスNSCameraUsageDescription
5連絡先へのアクセスNSContactsUsageDescription
6ヘルスデータへのアクセスNSHealthShareUsageDescription
7ヘルスデータの変更NSHealthUpdateUsageDescription
8HomeKit の設定データへのアクセスNSHomeKitUsageDescription
9位置情報へのアクセス (常に許可)NSLocationAlwaysUsageDescription
10位置情報へのアクセス (使用中のみ許可)NSLocationWhenInUseUsageDescription
11マイクへのアクセスNSMicrophoneUsageDescription
12加速度計へのアクセスNSMotionUsageDescription
13フォトライブラリへのアクセスNSPhotoLibraryUsageDescription

参考記事

http://dev.classmethod.jp/smartphone/iphone/ios10-privacy-data-purpose-description/