Как выполнить метод, когда пользователь выходит из приложения iOS (Swift)?
Я создаю приложение iOS Music и использую MPMusicPlayerController.systemMusicPlayer() для воспроизведения музыки из библиотеки iTunes устройства.
Я попробовал applicationWillTerminate, чтобы остановить музыкальный проигрыватель, и он не сработал, после проведенного исследования, которое я обнаружил. После iOS 4 метод applicationWillTerminate * почти никогда не будет вызван, и мы должны выполнить всю работу в методе applicationDidEnterBackground.
Но я хочу, чтобы мой музыкальный проигрыватель продолжал воспроизводить музыку, когда она входит в фоновый режим, и останавливал музыку только после принудительного выхода пользователя из приложения. Как я могу добиться такого поведения?
1 ответ
Важно: applicationWillTerminate: метод не вызывается, если ваше приложение в данный момент приостановлено.
Даже если вы разрабатываете свое приложение с использованием iOS SDK 4 и более поздних версий, вы все равно должны быть готовы к тому, что ваше приложение будет убито без какого-либо уведомления. Пользователь может явно убивать приложения с помощью интерфейса многозадачности. Кроме того, если память становится ограниченной, система может удалить приложения из памяти, чтобы освободить место. Приостановленные приложения не уведомляются о прекращении, но если ваше приложение в данный момент работает в фоновом состоянии (и не приостановлено), система вызывает applicationWillTerminate: метод вашего делегата приложения. Ваше приложение не может запросить дополнительное время фонового выполнения из этого метода.