Как предотвратить сбой приложения / игры при возобновлении через некоторое время - PullRequest
1 голос
/ 25 октября 2011

Моя игра, созданная с использованием cocos2d, вылетает на iOS5 после выхода из фона, если оставить ее на некоторое время.Я хочу знать, какова стандартная / лучшая практика обработки приложения, которое отправляется в фоновом режиме.Прекращаю ли я это через определенное время?Я вижу, что некоторые игры поднимают экран загрузки, когда вы возобновляете его через долгое время, но когда вы возобновляете его немедленно, он сразу переходит в игру.Что они загружают, когда возобновляют работу?

Любые указатели в правильном направлении будут высоко оценены.

Спасибо AC

1 Ответ

1 голос
/ 25 октября 2011

Вы можете отказаться от фонового выполнения, добавив , добавив UIApplicationExitsOnSuspend в свой Info.plist .

Кроме того, ваша задача - убедиться, что ваше приложение не аварийно завершает работу при возобновлении работы. Вы должны понимать, что ваше приложение в основном находится в приостановленном состоянии. Это означает, что он должен выгружать все ненужные ресурсы, иначе система может завершить процесс вашего приложения.

В вашем делегате приложения вы должны ответить на сообщение applicationDidBecomeActive и ответить соответствующим образом, чтобы ваше приложение могло возобновить выполнение без каких-либо проблем. Это может включать в себя загрузку любых выгруженных ресурсов и проверку изменений системных настроек (т. Е. Локали, пользователя Game Center и т. Д.).

Вы также можете зарегистрировать didBecomeActive UINotification , чтобы любой класс в вашем приложении получал уведомление, когда приложение должно возобновиться.

...