这可能对任何人都没什么用,但可以通过将调用嵌套在 try{}catch(NSException* e){} 块中来从 UIApplicationMain 返回。我目前这样做是为了测试我的设置过程,以便在应用程序退出后运行一些逻辑。我想更进一步,实际编写单独的 UIApplication 子类并串行运行它们,但 UIApplicationMain 不想玩得很好,它是一个单例,它必须记住它曾经是什么(第一个 UIApplication 被实例化)。这是我从第一次调用 UIApplicationMain 返回后尝试创建第二个 UIApplication 时遇到的错误...
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 实例化都是它的第一个实例?
如果这是一个死胡同,我可以尝试通过手动设置主事件循环并实例化 UIApplication 来替换 UIApplicationMain,有人这样做过吗?