HOME > 問題解決一覧 > [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.
このエラーについて対処法を教えてください。
自己解決しました。iOS10になりユーザデータにアクセスする場合にはinfo.plistに許可の設定を記述しないといけなくなり、それを設定していないと今回のエラーが表示されます。
今回はマイクと音声認識の機能のアクセス許可を追加すれば改善します。
<key>NSMicrophoneUsageDescription</key>
<string>英会話の質問の解答のためにマイクを利用します。</string>
<key>NSSpeechRecognitionUsageDescription</key>
<string>英会話の質問の解答のために音声認識を利用します。</string>
ちなみに下記の機能にアクセスする場合にinfo.plistに記述しないといけないようです。
| アクセスしたい機能 | info.plistに設定するキー | |
|---|---|---|
| 1 | メディアライブラリへのアクセス | NSAppleMusicUsageDescription |
| 2 | Bluetooth インターフェースへのアクセス | NSBluetoothPeripheralUsageDescription |
| 3 | カレンダーへのアクセス | NSCalendarsUsageDescription |
| 4 | カメラへのアクセス | NSCameraUsageDescription |
| 5 | 連絡先へのアクセス | NSContactsUsageDescription |
| 6 | ヘルスデータへのアクセス | NSHealthShareUsageDescription |
| 7 | ヘルスデータの変更 | NSHealthUpdateUsageDescription |
| 8 | HomeKit の設定データへのアクセス | NSHomeKitUsageDescription |
| 9 | 位置情報へのアクセス (常に許可) | NSLocationAlwaysUsageDescription |
| 10 | 位置情報へのアクセス (使用中のみ許可) | NSLocationWhenInUseUsageDescription |
| 11 | マイクへのアクセス | NSMicrophoneUsageDescription |
| 12 | 加速度計へのアクセス | NSMotionUsageDescription |
| 13 | フォトライブラリへのアクセス | NSPhotoLibraryUsageDescription |
参考記事
http://dev.classmethod.jp/smartphone/iphone/ios10-privacy-data-purpose-description/
この記事に関する質問やご意見・ご感想がありましたら、下記よりコメントください。
Githubアカ ウントでログインしていれば誰でも投稿できます。
![[iOS10]access privacy-sensitive data without a usage descriptionのエラー](/static/946f11f6bbd6bfb159eb66dd2e5da6a2/c58f0/swift.png)