mol*_*loo 35
UIApplication有一个私有实例方法:
以下代码可以使用(在iPhone 3GS中测试):
UIApplication *app = [UIApplication sharedApplication];
[app performSelector:@selector(suspend)];
Run Code Online (Sandbox Code Playgroud)
Bra*_*son 17
退出应用程序或以编程方式将其发送到后台违反了iOS人机界面指南,这对于完成审核流程通常不是好兆头:
不要以编程方式退出
永远不要以编程方式退出iOS应用程序,因为人们倾向于将其解释为崩溃.但是,如果外部环境阻止您的应用程序按预期运行,您需要告知用户有关情况并解释他们可以采取的措施.根据应用程序故障的严重程度,您有两种选择.
显示描述问题的有吸引力的屏幕并建议更正.屏幕提供反馈,向用户保证应用程序没有任何问题.它使用户可以控制,让他们决定是否要采取纠正措施并继续使用您的应用程序或按Home键并打开其他应用程序
如果只有部分应用程序功能不起作用,则在人员激活该功能时显示屏幕或警报.仅当人们尝试访问无法运行的功能时才显示警报.
之前在该文件中解释了其哲学原因:
人,而不是应用程序,应该启动和控制操作.虽然应用程序可以建议采取行动或警告危险后果,但应用程序通常会错误地将决策权交给用户.最好的应用程序在为人们提供所需功能与帮助他们避免危险结果之间找到了正确的平衡.
当行为和控制熟悉且可预测时,用户可以更好地控制应用程序.而且,当操作简单明了时,用户可以轻松理解并记住它们.
人们希望在开始之前有足够的机会取消操作,他们希望有机会确认他们打算采取潜在的破坏性行动.最后,人们希望能够优雅地停止正在进行的操作.
应该没有理由在操作期间强制您的应用程序进入后台.它应该在屏幕上显示时保持完整功能,并且当用户想要从应用程序切换时应该由用户决定.
Chi*_*buZ 15
在快速:
UIControl().sendAction(#selector(NSURLSessionTask.suspend), to: UIApplication.sharedApplication(), forEvent: nil)
Run Code Online (Sandbox Code Playgroud)
编辑Swift3:
UIControl().sendAction(#selector(URLSessionTask.suspend), to: UIApplication.shared, for: nil)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17749 次 |
| 最近记录: |