暂停申请

时间:2011-03-19 07:45:44

标签: iphone

如何暂停我的申请或向我的申请发送暂停讯息?

我想模拟按下主页按钮。

6 个答案:

答案 0 :(得分:34)

UIApplication有一个私有实例方法:

以下代码可行(在iPhone 3GS中测试):

UIApplication *app = [UIApplication sharedApplication];
[app performSelector:@selector(suspend)];

答案 1 :(得分:17)

退出您的应用程序或以编程方式将其发送到后台违反了iOS Human Interface Guidelines,这通常不利于完成审核流程:

  

不要以编程方式退出

     

永远不要退出iOS应用程序   以编程方式,因为人们倾向   将此解释为崩溃。然而,   如果外部环境阻止你   从作为的应用程序   打算,你需要告诉你的用户   关于情况并解释一下   他们可以做到这一点。取决于如何   严重的应用程序故障是,   你有两个选择。

     

显示描述问题的有吸引力的屏幕并建议a   修正。屏幕提供   反馈,让用户放心   你的问题没有错   应用。它让用户掌控,   让他们决定是否需要   采取纠正措施并继续   使用您的应用程序或按   主页按钮和开放不同   应用

     

如果只有部分应用程序功能无效,请显示   无论是屏幕还是警报   人们激活该功能。显示   只有当人们尝试时才会发出警报   访问不是的功能   运作。

此文件的哲学原因在该文件的前面解释过:

  

人,而不是应用程序,应该   发起和控制行动。虽然   一个应用程序可以建议一个过程   行动或警告危险   后果,通常是一个错误   让应用程序做出决策   远离用户。最好的应用程序找到   给予之间的正确平衡   人们需要的能力   同时帮助他们避免危险   结果

     

用户可以更好地控制应用   当行为和控制是   熟悉且可预测。什么时候   行动很简单   直截了当,用户可以轻松   理解并记住它们。

     

人们希望有足够的   有机会取消手术   在它开始之前,他们期望   有机会确认他们的   意图执行潜在的   破坏性行动。最后,人   期望能够优雅地停下来   正在进行的一项行动。

在操作过程中,您无需强迫应用程序进入后台。它应该在屏幕上显示时保持完整功能,并且当用户想要从应用程序切换时应该由用户决定。

答案 2 :(得分:14)

在swift:

UIControl().sendAction(#selector(NSURLSessionTask.suspend), to: UIApplication.sharedApplication(), forEvent: nil)

编辑Swift3:

UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)

答案 3 :(得分:2)

你不能这样做。

如果您想要退出自己的应用,请不要害怕被拒绝并且喜欢来自您可以致电exit(0);

的用户的误报崩溃报告电子邮件

答案 4 :(得分:-3)

使用:

 sleep(15)

它将暂停您的应用特定时间

答案 5 :(得分:-7)

暂停申请时,会发布UIApplicationWillResignActiveNotification通知。

我猜您可以尝试手动发布此通知。不过我自己也没试过。