Итак, согласно документации, ваше наблюдаемое поведение кажется правильным. Я думаю, что ваше решение прекратить получать уведомления может быть хорошим. Да, это немного глупо, но, похоже, это сработает.
В качестве альтернативы, как насчет хранения URL фильма (ов), который вы играете и сравниваете с [moviePlayer contentURL]
? Возможно, вам придется заняться акробатикой по таймеру и иметь currentMovieURL
и previousMovieURL
, но это должно обеспечить хороший способ сравнения, если фильм, который закончился, - это фильм, который вы ожидали закончить.
В качестве альтернативы , что , как насчет установки 2 переменных: movieStartTime
и expectedMovieDuration
? Затем вы можете сравнить [NSDate date]
с [movieStartTime dateByAddingTimeInterval:expectedMovieDuration]
и посмотреть, далеко ли это.