Я пытаюсь получить уведомление от MPMoviePlayerController, когда фильм подошел к концу. Я запускаю плеер во встроенном режиме с локальным файлом.
Как и предполагают в документации, я зарегистрировался в MPMoviePlayerPlaybackDidFinishNotification и проверял, содержит ли ключ MPMovieFinishReason значение intValue MPMovieFinishReasonPlaybackEnded. Работает нормально.
Но я получаю такое же уведомление с MPMovieFinishReasonPlaybackEnded, когда переключаю фильм с помощью свойства contentURL до того, как он фактически достиг своего конца. Итак, я попробовал это решение и проверил, равно ли endPlaybackTime == -1, но это верно в обоих случаях.
Единственный обходной путь, который я нашел до сих пор, - это удалить наблюдателя перед изменением contentURL и затем добавить его снова, но я думаю, что должно быть более элегантное решение?