Краткое описание проблемы
Изменение ориентации устройства iPad или симулятора при воспроизведении видео с использованием MPMoviePlayerViewController приводит к несогласованному состоянию вращения при увольнении видеопроигрывателя. Это известная ошибка в iPad SDK 3.2, зарегистрированная на http://www.openradar.me/8012810
Пример проекта
Я подготовил проект минимальной выборки, используя шаблон приложения на основе View из Xcode 3.2.2, используя следующий код для запуска проигрывателя
NSURL *movieUrl = [NSURL URLWithString:@"http://devimages.apple.com/iphone/samples/bipbop/bipbopall.m3u8"];
MPMoviePlayerViewController *player = [[MPMoviePlayerViewController alloc] initWithContentURL:movieUrl];
[self presentMoviePlayerViewControllerAnimated:player];
[player release];
Код доступен в GitHub по адресу http://github.com/adamalex/FullScreenMovie или прямой загрузке с помощью http://github.com/adamalex/FullScreenMovie/zipball/master
Шаги по воспроизведению
- Получить проект, используя приведенную выше информацию
- Запустите проект с помощью имитатора или устройства iPad.
- Нажмите кнопку, чтобы начать воспроизведение видео.
- Поверните iPad на 90 градусов.
- Отклонить видео
- Обратите внимание, что UIStatusBar не синхронизирован с пользовательским интерфейсом приложения
Цель
Я связался с Apple, и они подтвердили, что это ошибка, которая исследуется. Я хотел бы обсудить временные обходные пути, которые используют общедоступные API для безопасного хранения в App Store. Я собираюсь также открыть приложение для поддержки разработчиков с Apple, и я вернусь с моим собственным прогрессом.