1

...ケースMPMediaLibraryAuthorizationStatus.notDetermin:経由で。上のコードはエラーを生成します: ' - >'の後に期待される型。 requestAuthorization()行がコメントアウトされると、起動時にアプリケーションがクラッシュし(アクセスが許可されていない)、起動画面が消えた後に承認プロンプトが表示されます。チェック権限

Objective CでrequestAuthorization()を実行する方法の例をいくつか見てきましたが、Swiftでは何もしていません。私は理解していません:

Swift 3のMPMediaLibraryへのアクセスの許可を求める適切な方法は何ですか?

答えて

0

実際には、requestAuthorizationメソッドのプロトタイプを使用しています。あなたはそれをあなた自身の使用に適応させる必要があります。

MPMediaLibrary.requestAuthorization(handler: (MPMediaLibraryAuthorizationStatus) -> Void) 

はrequestAuthorizationがパラメータとしての機能を取ることを意味し、この関数は、パラメータとして戻り、何もMPMediaLibraryAuthorizationStatusを取りません。

たとえば、認証を要求してコンソールに結果を表示する場合は、

if authoriationStatus != .authorized { 
     MPMediaLibrary.requestAuthorization({ 
      (status) in 
      switch status { 
      case .notDetermined: 
       print("notDetermined") 
      case .denied: 
       print("denied") 
      case .restricted: 
       print("restricted") 
      case .authorized: 
       print("authorized") 
      } 
     }) 
    } 

あなたが見ることができるように、私は方法のrequestAuthorizationのためのパラメータとしての機能を使用します。アプリケーションが既に許可されていない場合、私は最初に確認してください。この関数は{...}の中に記述されています。それは閉鎖と呼ばれ、それはあなたがいつもスイフトで使うものです。