【发布时间】:2012-05-06 15:57:27
【问题描述】:
我有几个 iOS 应用程序都使用相同的端口来监听网络信标。在主视图上,当打开另一个视图时,我使用 viewWillDisappear 关闭端口,效果很好。然后我注意到如果我从主视图控制器按下主页按钮而不打开另一个视图来关闭端口,那么端口保持打开状态并且我的其他应用程序不能再监听该端口。然后我尝试使用 viewWillUnload,但是当我按下主页按钮时似乎没有被调用。
-(void)viewWillUnload
{
//[super viewWillUnload];
NSLog(@"View will unload");
[udpSocket close];
udpSocket = nil;
}
View will unload 永远不会显示在控制台中,这让我相信该方法永远不会被调用。
有没有办法检测何时按下主页按钮以便我可以关闭我的端口?
【问题讨论】:
-
尝试使用“applicationWillTerminate”方法。 :-)
-
“applicationWillTerminate”方法不存在。但是,子类可以注册 UIApplicationWillTerminateNotification,然后自己进行清理或关闭。