2016-07-28 13 views
4

で写真ライブラリへの許可を要求する:クラッシュは私がサンプルiOSの10アプリケーションは、写真ライブラリに許可を要求すると、次のクラッシュエラーで実際のデバイス上でクラッシュしていiOSの10

PhotosAuthorizationCrashTest[2014:42551] [access] <private>

レポが可能にここで

hereが認証を要求コード(SWIFT 3.0)ですが見つかりました:

private func requestAuthorizationIfNeeded() { 
    DispatchQueue.main.async { 
     let status = PHPhotoLibrary.authorizationStatus() 
     if status == .authorized { 
      return 
     } 

     PHPhotoLibrary.requestAuthorization({ (status) in 
      if status == .authorized { 
       return 
      } 

      NSLog("Could not get authorization to access photos") 
     }) 
    } 
} 

答えて

8

私がフンをしましたiOS 10でいくつかの使用説明キーが必須になっているという事実に関連する問題。

NSPhotoLibraryUsageDescriptionはiOS 6以降で使用されていますが、iOS 10では要件になっており、クラッシュメッセージwasn非常に役に立ちません。

最新のXcode(現時点ではXcodeの8ベータ3)のシミュレーターでクラッシュメッセージは(デバイス上で、それはまだ同じであっても)、もう少し詳しいです:だから

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

私のInfo.plistファイルにNSPhotoLibraryUsageDescriptionを追加すると問題が解決しました。より多くのドキュメントについては

、具体的にNSPhotoLibraryUsageDescriptionという名前のセクションCocoa Keys

を参照してください。

Important: To protect user privacy, an iOS app linked on or after iOS 10.0, and which accesses the user’s photo library, must statically declare the intent to do so. Include the NSPhotoLibraryUsageDescription key in your app’s Info.plist file and provide a purpose string for this key. If your app attempts to access the user’s photo library without a corresponding purpose string, your app exits.

関連する問題