Почему закрытие симулятора заставляет мое приложение получать SIGTERM, когда мое приложение находится в фоновом режиме? - PullRequest
1 голос
/ 02 октября 2011

Когда я получаю это:

- (void)applicationWillResignActive:(UIApplication *)application {

Я освобождаю все свои объекты и делаю недействительными все мои таймеры.

Когда я получаю это:

 - (void)applicationDidBecomeActive:(UIApplication *)application {

Я перераспределяювсе мои объекты и снова запускаю мои таймеры.

Все это прекрасно работает, за исключением того, что теперь, если я помещаю свою программу в фоновый режим, то я фактически завершаю программу, закрывая IOS Simulator, он дает сигнал SIGTERM встрока:

int retVal = UIApplicationMain(argc, argv, nil, nil);

С другой стороны, если я завершаю программу, закрывая IOS Simulator, не помещая его в фоновый режим, он не дает сигнал SIGTERM.

Я что-то делаюнеправильно?


Для меня главной причиной такого рода SIGTERM было следующее.Если я освобождаю какой-либо объект, которым я никогда не владел или уже выпустил непосредственно перед завершением программы, то я получаю этот SIGTERM при завершении работы программы.

Я не знаю, как получить информацию от симулятора или отладчика о том,с каким объектом я это сделал.Но зная от SIGTERM, что я сделал посторонний выпуск, мне было достаточно, чтобы выследить его осмотром.

Если кто-нибудь знает, как посмотреть, какой объект был выпущен посторонним образом в xcode, пожалуйста, присоединяйтесь.

1 Ответ

5 голосов
/ 19 февраля 2012

Вы не делаете ничего плохого.Когда вы закрываете iOS Simulator, он убивает ваше приложение, отправляя его SIGTERM.Период.Вот как это работает.Если вы оставите свое приложение на переднем плане, оно все равно будет убито, но не на SIGTERM.Ваше приложение все еще подключено к симулятору, когда оно находится в фоновом режиме;он не может продолжать существовать без симулятора и не имеет возможности подключиться к другому экземпляру симулятора, если вы запустите его.тренажер.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...