iphone - 根据用户请求杀死 iOS 应用程序

标签 iphone objective-c ios user-controls

这就是我面临的问题。我正在构建的应用程序的某些部分打开了一些允许连接到各种服务器/服务的 c 网络套接字。但是,如果应用程序进入休眠状态,这些套接字连接就会丢失,并且在尝试重新加载它们时会出错。所以我想做的基本上是在应用程序再次启动时通知用户应用程序需要重新启动。主要问题是,我可以向他们展示一个按钮,该按钮将通过使用 exit(0) 终止应用程序,而我的应用程序不会被拒绝吗?

Apple 表示用户应该控制应用程序何时被终止,在这种情况下我看到他们是,但我不确定 Apple 对此的看法。还有其他人用过这个吗?你有因为这个被拒绝过吗?在此先感谢您的任何建议!

编辑:

谢谢大家的建议。我正在尝试考虑所有因素,但由于应用程序需要尽快提交,我只需要知道,如果我们无法获得其他解决方案,如果上述建议的解决方案是否会被拒绝。

最佳答案

当重大事件影响应用程序的生命周期时,您的应用程序委托(delegate)会收到通知。您不应要求您的用户重新创建 session ,而应尝试中断网络操作,然后在应用程序生命周期的适当时间自动恢复它们。

当应用程序准备退出或通过应用程序委托(delegate)中的回调进入后台时,您可以在任意数量的地方优雅地终止网络套接字(除其他外):

applicationWillResignActive:
applicationWillEnterBackground:
applicationWillTerminate:

可能重建套接字:

applicationDidBecomeActive
applicationWillEnterForeground

关于iphone - 根据用户请求杀死 iOS 应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10263083/

相关文章:

iphone - GHUnit 在模拟器中运行,但不能在 iPhone 上运行

iphone - 核心数据 : multiple copies of the same item linked to another?

iphone - 动画 UIViews 以获得交叉淡入淡出效果效果不佳

javascript - 使用 javascript 从 iOS 文档文件夹中读取 JSON 文件

iPhone 构建问题 : MapKit/MKPolyline. h:没有这样的文件或目录

iphone - Xcode 中的 NSUserDefault

ios - 3 秒后将 View 重定向到另一个 View

ios - 带有 OpenSSL 的 Objective-C - 无法设置 RSA key

ios - 使用 Xcode 在 iOS 应用程序中调用网页

ios - 如何使用 swift 获取表格单元格中的结果