[解決済み] iOS 10 - カメラ、マイク、フォトライブラリのアクセス許可の変更によりアプリケーションがクラッシュすることがあります。
質問
iOS 10 では、メディア ライブラリ、写真、カメラ、およびその他のハードウェアにアクセスするには、ユーザーの許可が必要になりました。これを解決するには、ユーザーのキーを
info.plist
に追加し、そのデータをどのように使用するかをユーザーに説明することです。
いくつかのキーしか見つけられませんでしたが
NSPhotoLibraryUsageDescription
NSMicrophoneUsageDescription
NSCameraUsageDescription
のように、他のハードウェアのためのキーもあるかどうか知りたいです。
iOS 10
を提供していない場合は
info.plist
に適切なキーを記述していなければ、アプリケーションはクラッシュします。
XCode - 8 beta を使用してビルドした場合。
どのように解決するのですか?
[プライバシーキーのリストをiOS 13に更新しました。]
すべての
Cocoa Keys
で指定することができます。
Info.plist
ファイルで指定します。
(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 は現在、プライバシー使用説明書にさらに注意を払っているようで、なぜ許可を求めているのかを詳細に説明する必要があります。
関連
-
dyld: ライブラリがロードされていません。エラーの解決
-
[解決済み] キーボードがあるときに、UITextFieldを編集開始時に上に移動させるには?
-
[解決済み] performSelectorのセレクタが不明なため、リークが発生する可能性があります。
-
[解決済み] 制約条件の変更をアニメーションで表現するには?
-
[解決済み] Objective-Cでデリゲートを作成するにはどうしたらいいですか?
-
[解決済み] iOS 13 のフルスクリーンでモーダルを表示する
-
[解決済み] UITextViewのマージン/パディングをなくす方法
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] セキュリティで保護されたWebサービスにもアクセスするiOSアプリで、Facebook認証を行うためのデザイン
-
[解決済み] Cocoapods警告 - CocoaPodsがプロジェクトの基本構成を設定しなかった理由は、プロジェクトに既にカスタム構成が設定されているためです。
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
XCode のコンパイル例外を解決する clang: error: linker command failed with exit code 1
-
[解決済み] iOSまたはmacOSで、インターネット接続が有効かどうかを確認するにはどうすればよいですか?
-
[解決済み] Xcode 7のエラーです。"Missing iOS Distribution signing identity for ..." (iOS配布用署名IDがありません)
-
[解決済み] UITableViewの下にある余分なセパレータをなくす
-
[解決済み] iOS Simulatorでネットワークを無効にすることは可能ですか?
-
[解決済み] iPhone 5の画面解像度に対応したアプリを開発・移行するには?
-
[解決済み] Swiftを使用してアプリのバージョンとビルド番号を取得するにはどうすればよいですか?
-
[解決済み] UITextFieldの最大文字数を設定します。
-
[解決済み] コア・データ エンティティの全インスタンスを削除する最短の方法
-
[解決済み] ぼかしの入ったオーバーレイビューの作成