1. ホーム
  2. ios

[解決済み] iOS 10 - カメラ、マイク、フォトライブラリのアクセス許可の変更によりアプリケーションがクラッシュすることがあります。

2022-11-17 08:56:38

質問

iOS 10 では、メディア ライブラリ、写真、カメラ、およびその他のハードウェアにアクセスするには、ユーザーの許可が必要になりました。これを解決するには、ユーザーのキーを info.plist に追加し、そのデータをどのように使用するかをユーザーに説明することです。

いくつかのキーしか見つけられませんでしたが

NSPhotoLibraryUsageDescription
NSMicrophoneUsageDescription
NSCameraUsageDescription

のように、他のハードウェアのためのキーもあるかどうか知りたいです。 iOS 10 を提供していない場合は info.plist に適切なキーを記述していなければ、アプリケーションはクラッシュします。 XCode - 8 beta を使用してビルドした場合。

どのように解決するのですか?

[プライバシーキーのリストをiOS 13に更新しました。]

すべての Cocoa Keys で指定することができます。 Info.plist ファイルで指定します。

https://developer.apple.com/library/content/documentation/General/Reference/InfoPlistKeyReference/Articles/CocoaKeys.html

(Xcode: Target -> Info -> カスタムiOSターゲットプロパティ)

iOS は以前(iOS 6、iOS 7)からすでにマイク、カメラ、メディアライブラリにアクセスするためのパーミッションが必要でしたが iOS 10 以降はアプリがクラッシュします。 なぜその許可を求めているのかを説明しなければ(空であってはいけない)、アプリがクラッシュします。

プライバシーキーと説明の例。

ソース

または Info.plist をソースコードとして開くこともできます。

ソース

そして、プライバシーキーをこのように追加します。

<key>NSLocationAlwaysUsageDescription</key>
<string>${PRODUCT_NAME} always location use</string>

すべてのプライバシーキーの一覧です。[iOS 13にUPDATED]。

NFCReaderUsageDescription
NSAppleMusicUsageDescription
NSBluetoothAlwaysUsageDescription
NSBluetoothPeripheralUsageDescription
NSCalendarsUsageDescription
NSCameraUsageDescription
NSContactsUsageDescription
NSFaceIDUsageDescription
NSHealthShareUsageDescription
NSHealthUpdateUsageDescription
NSHomeKitUsageDescription
NSLocationAlwaysUsageDescription
NSLocationUsageDescription
NSLocationWhenInUseUsageDescription
NSMicrophoneUsageDescription
NSMotionUsageDescription
NSPhotoLibraryAddUsageDescription
NSPhotoLibraryUsageDescription
NSRemindersUsageDescription
NSSiriUsageDescription
NSSpeechRecognitionUsageDescription
NSVideoSubscriberAccountUsageDescription

2019年の更新情報です。

この数ヶ月の間に、私のアプリのうち2つが に却下されました。 というのも、カメラの使用方法の説明で、撮影した写真で何をするかが指定されていなかったからです。

を変更する必要がありました。 ${PRODUCT_NAME} need access to the camera to take a photo から ${PRODUCT_NAME} need access to the camera to update your avatar に変更しました。アプリのコンテキストは明らかだったにもかかわらず (ユーザーがアバターをタップした)。

Apple は現在、プライバシー使用説明書にさらに注意を払っているようで、なぜ許可を求めているのかを詳細に説明する必要があります。