Es scheint, dass Sie postNotification fordern, bevor auch die Beobachter hinzufügen. Ich meine, der Beobachter sollte zuerst angerufen werden, damit nur er auf die Benachrichtigung hören kann.
die Sie interessieren in 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
}
Und fügen Sie Benachrichtigungscode in Ihrer ersten View-Controller wie dieses Posting.
import AVFoundation
override func viewDidLoad() {
super.viewDidLoad()
let MyGreatNotification = Notification.Name.AVPlayerItemNewAccessLogEntry
NotificationCenter.default().post(name: MyGreatNotification, object: self)
}
Das ist es versuchen, Ihre Anwendung ausgeführt wird, können Sie sehen, dass der App auf den hello
in App Delegate
namens function
brechen.
Wenn Sie noch nicht sicher sind. Tun Sie dies, setzen Sie diesen Posting-Benachrichtigungscode in App Delegate
und fügen Sie Beobachter-Code in den ersten View-Controller ein, fügen Sie den Selektor hinzu und setzen Sie einen Breakpoint dort, versuchen Sie es mit der App. Sie können sehen, dass die App nicht am Unterbrechungspunkt im ursprünglichen Ansichtscontroller unterbrochen wurde.
Geben Sie den Code ein, in den Sie 'downloadAudioVisualItem' geschrieben haben. – Dershowitz123
Ich habe die Beschreibung aktualisiert ... Aber all dieser Code ist in UIViewController verfügbar, wo das WKWebView verfügbar ist. – Raffi
Ich muss die Funktion 'downloadAudioVisualItem' sehen. Ich glaube, in den Parametern fehlt etwas. – Dershowitz123