Это может быть мало кому полезно, но можно вернуться из UIApplicationMain, вложив вызов в блок try {} catch (NSException * e) {}. В настоящее время я делаю это для тестирования процесса установки, чтобы запустить некоторую логику после выхода из приложения. Я хотел бы пойти дальше и написать отдельные подклассы UIApplication и запускать их последовательно, но UIApplicationMain не хочет играть хорошо, это одиночка, и он должен помнить, какой он был когда-то (первое приложение UIApplication, которое было создано ). Вот ошибка, которую я получаю, когда пытаюсь создать второе приложение UIA после возврата из первого вызова UIApplicationMain ...
2010-12-28 16:01:36.890 SomeFakeAppName[26993:207] *** Assertion failure in UIApplicationInstantiateSingleton(), /SourceCache/UIKit_Sim/UIKit-1447.6.4/UIApplication.m:1263
Итак, два вопроса:
Я понимаю, что, вероятно, я "делаю это неправильно", но как мне очистить память UIApplication, чтобы он думал, что каждое последующее создание UIApplication является его первым?
Если это тупик, я могу попробовать заменить UIApplicationMain, вручную настроив цикл основного события и создав экземпляр UIApplication. Кто-нибудь делал это?