如何暂停我的申请或向我的申请发送暂停讯息?
我想模拟按下主页按钮。
答案 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
通知。
我猜您可以尝试手动发布此通知。不过我自己也没试过。