App Delegate的生命周期(iOS)

时间:2012-08-20 17:03:40

标签: iphone ios5 appdelegate

很抱歉,如果这是一个愚蠢的问题,但我正在调试我的应用中的悬空指针问题,我需要知道 - 如果没有第一个resignActive,应用程序是否可以enterBackground? 没有第一个becomeActiveenterForeground

我的情况 - 我有一个类(称为“连接”)来管理所有应用程序的请求/连接。只要应用程序还活着,它就需要可用。

在我的-didFinishLaunchingWithOptions我初始化一个Connection实例并设置了一些参数。在我的-applicationWillEnterBackground中,我暂停了Connection的操作。

并且,在我的-applicationWillEnterForeground中,我检查Connection实例是否仍然存在。如果是,只需恢复操作,否则会创建一个新操作。

当我让应用程序运行一段时间(一小时左右,无论是否返回主屏幕)时,应用程序都会因此错误而崩溃。

"2012-08-19 13:08:42.708 Picsilk[11108:707] *** -[Connection respondsToSelector:]: message sent to deallocated instance 0x24e120"

类'Connection'只是一个简单的NSObject子类,它管理一个ASINetworkQueue实例,并处理我存储用户令牌和验证请求到api的特定需求。

此类的实例由app delegate创建和管理。我的各种视图控制器使用app委托来访问Connection,它自动处理队列(以及非排队的请求)

当然,我遗漏了一些非常简单和基本的东西,我对这个SDK的理解,请帮忙。 :

1 个答案:

答案 0 :(得分:4)

当有来电或其他通知时,该应用可以收到UIApplicationWillResignActiveNotification。所以,是的,可以“让应用程序在没有首次输入背景的情况下resignActive”。