我的应用程序使用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