applicationWillResignActive не срабатывает при нацеливании на iPod Touch (2-го поколения) iOS 4.2.1 - PullRequest
0 голосов
/ 02 марта 2012

У меня есть приложение, которое фиксирует уведомление applicationWillResignActive для записи файла. Он отлично работает на различных устройствах (включая iPhone 4.x), но никогда с моим iPod Touch (2-го поколения) под управлением iOS 4.2.1. У меня есть точки останова, установленные в начале функций, и они также никогда не срабатывают, поэтому это не зависит от кода. Кажется странным, что устройство зависит от конкретного устройства, но, возможно, мне нужно найти альтернативу. Это известная проблема?

1 Ответ

0 голосов
/ 02 марта 2012

Это может быть связано с отсутствием поддержки многозадачности на устройствах 2gen, таких как iPod 2gen и iphone 3G (не 3GS). Это последняя ОС, которую увидит ваш iPod. Поскольку старые устройства не имеют такой поддержки, этот делегат будет запущен только при получении входящего телефонного звонка или SMS-сообщения. При нажатии кнопки «Домой» на этих устройствах вместо этого будет запущено приложение WillTerminate. Используйте [[UIDevice currentDevice] multitaskingSupported], чтобы определить, поддерживает ли модель многозадачность, и используйте его для передачи кода в applicationWillTerminate:

- (void)applicationWillTerminate:(UIApplication *)application
{
    if(![[UIDevice currentDevice] multitaskingSupported])
    { 
        //Your code here for non-multitasking devices
    }

    //Code for booth plataforms
}

Надеюсь, это поможет.

...