2016-06-30 5 views
1

나는 모두 AVPlayerItem 행운과 함께 알림을 시도했습니다 .... 알림을 게시해야 할 때 아무 일도 일어나지 않습니다. AVPlayerItem이 알림을 실행하지 않는 이유는 무엇입니까?

내가 여기

WKWebView

의 웹 사이트에서 동영상을 다운로드 노력하고있어 당신이 심지어 관찰자를 추가하기 전에 postNotification를 호출하는 것으로 보인다 빠른 3.0

override func viewDidLoad() { 
    super.viewDidLoad() 

    NotificationCenter.default().addObserver(self, selector: #selector(self.downloadAudioVisualItem), name: NSNotification.Name.AVPlayerItemNewAccessLogEntry, object: nil) 
} 

func downloadAudioVisualItem() { 
    print("Hello") 
} 

override func viewDidDisappear(_ animated: Bool) { 
    super.viewDidDisappear(false) 

    NotificationCenter.default().removeObserver(self) 
} 
+0

'downloadAudioVisualItem'을 작성한 코드를 게시하십시오. – Dershowitz123

+0

설명을 업데이트했습니다 ... 그러나이 코드는 WKWebView를 사용할 수있는 UIViewController에서 사용할 수 있습니다. – Raffi

+0

나는'downloadAudioVisualItem' 함수를보아야 만합니다. 나는 매개 변수에 뭔가 빠져 있다고 믿는다. – Dershowitz123

답변

0

에서 그것이 내 코드입니다. 관찰자가 먼저 호출되어야 함을 의미하므로 통지 수신을 시작할 수 있습니다.

App Delegate

import AVFoundation

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool { 

     let MyGreatNotification = Notification.Name.AVPlayerItemNewAccessLogEntry 
     NotificationCenter.default().addObserver(self, selector: #selector(self.hello), name: MyGreatNotification, object: nil) 
     return true 
    } 

    func hello() 
    { 
     // Put break point here 
    } 

이 시도하고이 같은 초기 뷰 컨트롤러에 통지 코드를 게시 추가합니다.

import AVFoundation

이 앱을 실행 해보십시오입니다
override func viewDidLoad() { 
     super.viewDidLoad() 

     let MyGreatNotification = Notification.Name.AVPlayerItemNewAccessLogEntry 
     NotificationCenter.default().post(name: MyGreatNotification, object: self) 
    } 

, 당신은 응용 프로그램이 App Delegatehello을 명명 된 function에서 휴식 것을 볼 수 있습니다.

여전히 확실하지 않은 경우. 이 게시 알림 코드를 App Delegate에 넣고 초기보기 컨트롤러에 관찰자 코드를 추가하고 선택기를 추가하고 거기에 중단 점을 넣은 다음 응용 프로그램을 실행 해보십시오. 앱이 초기보기 컨트롤러의 중단 점에서 중단되지 않았 음을 알 수 있습니다.

+0

게시 알림을 부르지 않을 것입니다. 'AVPlayer' 자동으로 게시하시지 않으시겠습니까? .... "그렇지 않다면, 어떻게'WKWebView'에서'AVPlayerItem'을 얻을 수 있습니까? – Raffi

+0

'''AVPlayer'''는 문서를 확인하십시오. noh, 뭔가 빠졌다고 생각합니다. "''info.plist''에 관련 키를 추가 했습니까? –

+0

문서에서'info.plist' 키를 볼 수 없습니다. 너 나 좀 도와 줄거야? – Raffi

관련 문제