Как управлять многозадачностью в iPhone - PullRequest
0 голосов
/ 20 января 2012

Когда я нажимаю кнопку домой на устройстве. Это часть моего делегата:

- (void)applicationWillResignActive:(UIApplication *)application
{
    NSLog(@"resign active");
    //[[NSThread mainThread] cancel];
}
- (void)applicationDidEnterBackground:(UIApplication *)application
{
    NSLog(@"enter background");
    //[[NSThread mainThread] cancel];
}

- (void)applicationWillEnterForeground:(UIApplication *)application
{
    NSLog(@"enter foreground");
    //[[NSThread mainThread] cancel];
}
- (void)applicationWillTerminate:(UIApplication *)application
{
    NSLog(@"terminate");
    //[[NSThread mainThread] cancel];
}

Я использую NSLog, чтобы понять, какой метод вызывается при нажатии кнопки «Домой». Это вывод на консоль.

2012-01-20 15:55:55.853 MyApp[5955:11f03] enter background
2012-01-20 15:55:55.855 MyApp[5955:11f03] terminate
Program ended with exit code: 0

Итак, когда я нажимаю на приложение в фоновом режиме (дважды нажимая кнопку «Домой»), оно запускается снова, показывая первое изображение, а затем мой первый контроллер uiview.

Каким образом я могу решить эту проблему и возобновить приложение из uiviewcontroller, которое было вверху, когда пользователь нажимает кнопку «Домой»?

1 Ответ

4 голосов
/ 20 января 2012

Проверьте файл info.plist и убедитесь, что «Приложение не запускается в фоновом режиме» не отмечено.

На изображении ниже показан параметр в состоянии «включено», поэтому при нажатии пользователем кнопкиКнопка «Домой», приложение эффективно завершено.

info.plist configuration

Вот как Apple описывает эту опцию :

UIApplicationExitsOnSuspend

UIApplicationExitsOnSuspend (Boolean - iOS) указывает, что приложение должно быть прервано, а не перемещено в фоновый режим после его выхода.Приложения, связанные с iOS SDK 4.0 или более поздней версии, могут включать этот ключ и устанавливать для него значение YES, чтобы избежать автоматического включения фонового выполнения и приостановки работы приложения.Когда значение этого ключа - ДА, приложение завершается и удаляется из памяти, а не перемещается в фоновый режим.Если этот ключ отсутствует или имеет значение NO, приложение переходит в фоновый режим, как обычно.

Этот ключ поддерживается в iOS 4.0 и более поздних версиях.

...