有没有办法以编程方式将我的iPhone应用程序发送到后台

时间:2012-12-21 11:10:08

标签: ios

我有一个iPhone应用程序需要自动发送到后台。应用程序在其后台模式中使用VOIP键定义,因此它应该在后台继续运行。我特别需要应用程序继续运行,因此调用exit(0)是不行的。

该应用不会通过应用商店分发,因此使用私有API即可。

我已经阅读过有关UIApplication终止和UIApplication terminateWithSuccess但它们似乎不再可用

3 个答案:

答案 0 :(得分:10)

这里已经回答得很好了:

Suspend the application

正如那张海报所写:

退出您的应用程序或以编程方式将其发送到后台违反了[iOS人机界面指南] [1],这对于完成审核过程通常不是好事:

  

不要以编程方式退出

     

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

     

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

     

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

答案 1 :(得分:4)

在Swift 3中使用下面的代码,工作魅力

  DispatchQueue.main.asyncAfter(deadline: .now()) {
          UIApplication.shared.perform(#selector(NSXPCConnection.suspend))
      }

答案 2 :(得分:3)

虽然我同意另一个答案,你“不应该”以编程方式退出。有一种方法可以以编程方式退出。

*免责声明 - 你不应该这样做。

exit(0);

如果不按主页按钮,则无法将应用程序置于后台。如果有,您可能想要在您的问题中添加越狱标志并询问它们。

有关详情,请查看此重复问题Proper way to exit application