Ios 在程序启动之前调用AppDelegate dealloc

Ios 在程序启动之前调用AppDelegate dealloc,ios,dealloc,Ios,Dealloc,我遇到了一个非常奇怪的情况,在设备上运行时,我的应用程序会崩溃。当我从xcode在iphone上运行我的应用程序时,我收到一个错误,说我正在尝试访问一个已解除分配的AppDelegate属性。所以我追踪到它,并注意到每次我的应用程序启动时,它都会直接转到AppDelegate dealloc方法,然后再获取ApplicationIDFinishLaunchingWithOptions。因此,它解除了我所有的财产。奇怪的是,尽管appDelegate已被解除分配,但所有接口看起来都很正常,只是在稍

我遇到了一个非常奇怪的情况,在设备上运行时,我的应用程序会崩溃。当我从xcode在iphone上运行我的应用程序时,我收到一个错误,说我正在尝试访问一个已解除分配的AppDelegate属性。所以我追踪到它,并注意到每次我的应用程序启动时,它都会直接转到AppDelegate dealloc方法,然后再获取ApplicationIDFinishLaunchingWithOptions。因此,它解除了我所有的财产。奇怪的是,尽管appDelegate已被解除分配,但所有接口看起来都很正常,只是在稍后从appDelegate访问属性时才出现问题。另一件奇怪的事情是,即使它在iOS模拟器上运行时做了相同的事情(首先调用dealloc()),但应用程序运行时没有任何错误。有人能帮我解释一下吗?谢谢


PS:我怀疑的一件事是,最近我已经撤销并重新创建了我的证书,这导致我的项目更改了代码演唱身份。然而,我做得正确,能够在电话上运行它,所以不确定这是否是问题

您的应用程序代理是如何创建的?您是否将其类名作为main函数的参数(在
main.m
中),或者它是主nib中的对象?此链接提供了详细的说明!您的应用程序代理是如何创建的?您是否将其类名作为main函数的参数(在
main.m
中),或者它是主nib中的对象?此链接提供了详细的说明!