我的應用程序使用iPodMusicPlayer,當用戶暫停時,用戶可能會出去更改Apple的音樂應用程序,例如創建或修改播放列表,然後返回到我的應用程序。MPMediaLibraryDidChangeNotification調用兩次?
我收到預期的MPMediaLibraryDidChangeNotification,這很好,我處理它更新我的引用等,但約2分鐘後我收到第二次MPMediaLibraryDidChangeNotification,我真的不需要。
避免第二次通知的任何想法?
[[NSNotificationCenter defaultCenter] addObserver:self selector:@selector(notification_iPodLibraryDidChange:) name: MPMediaLibraryDidChangeNotification object:nil];
[[MPMediaLibrary defaultMediaLibrary] beginGeneratingLibraryChangeNotifications];
這不會解決它,因爲每次通知觸發它比較日期**秒**,因此,將永遠是不同的,永遠不會NSOrderedSame。 我最終維護一個計數器。如果@選擇器被調用一次,它就會增加。如果計數小於,則完成該方法。否則,它會返回;' 很髒,但它的工作原理。 – topLayoutGuide 2014-01-09 10:42:12
iOS 5中的錯誤或任何與我的答案相關的錯誤都表現在具有相同lastModifiedDates的兩個通知中。沒有意識到這仍然是一個錯誤。 – amergin 2014-01-09 13:25:34
好笑。在iOS 7中,它會調用三次 - 一次是播客,一次是有聲讀物,一次是音樂。所有在不同的時間。我只是想叫它一次。偶爾你應該更新你的答案? :P – topLayoutGuide 2014-01-10 07:22:03