如何在iOS 12中以编程方式终止应用程序
我有一个问题,我把我的iPhone 6放在iOS 12 beta 1上,这是我的应用程序中的一个方法,当按下弹出按钮时,它在iOS 12上不起作用,但在iOS 11.4.1上起作用 这就是我使用的方法:如何在iOS 12中以编程方式终止应用程序,ios,swift,ios12,Ios,Swift,Ios12,我有一个问题,我把我的iPhone 6放在iOS 12 beta 1上,这是我的应用程序中的一个方法,当按下弹出按钮时,它在iOS 12上不起作用,但在iOS 11.4.1上起作用 这就是我使用的方法: UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil) 在iOS 11中,应用程序正确退出,在iOS 12中,应用程序不退出,只需按下弹出按钮时不执行任何操作 我
UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)
在iOS 11中,应用程序正确退出,在iOS 12中,应用程序不退出,只需按下弹出按钮时不执行任何操作
我知道这是Swift 4.2,当我浏览新闻和修改时,我还没有看到类似于一个带有新方法的链接来正确关闭应用程序
我需要它,因为如果此人不接受条款和条件,我会用它来关闭应用程序。您可以调用退出方法
exit(-1)
或者您可以使用NSXPCConnection.suspend
UIControl().sendAction(#selector(NSXPCConnection.suspend),
to: UIApplication.shared, for: nil)
此外,苹果不建议强制终止你的应用程序。你怎么做并不重要
查看帖子。尝试以下代码:
DispatchQueue.main.asyncAfter(deadline: .now() + 1.0) {
UIApplication.shared.perform(#selector(NSXPCConnection.suspend))
DispatchQueue.main.asyncAfter(deadline: .now() + 0.5) {
exit(0)
}
}
这将等待1秒钟,应用程序将需要0.5秒才能关闭。您可以在此代码段之前使显示变暗 如果我没有记错,您可以调用
exit
,exit()
应该可以,但不建议这样做。如果该人员不接受条款,只需将其留在欢迎/登录屏幕上即可。退出是不推荐的,因为从技术上讲,退出似乎是一个错误,应用程序自行终止是一个崩溃,无论您如何完成它,它都可能导致您的应用程序被苹果拒绝。@LouisGout如果用户拒绝条款,您将不得不清除该数据。无效UIControl:'(在iOS12上应用了很多更改。它不起作用,甚至可以起作用。我将永远不会使用它,并且UIControl不起作用:(@LouisLegout你能在plist中将'UIApplicationExitsOnSuspend'属性添加到'true'并重试吗?如果它仍然不起作用,那么这是iOS 12的问题,我们会及时了解。不要退出应用程序,尝试模拟重启场景:有人用此代码将应用程序上载到应用商店吗?苹果会因为这样做而拒绝我的应用程序吗?.Inst如果退出应用程序,请尝试模拟重新启动场景: