在Swift延迟一段时间后,是否可以重新打开暂停的应用程序?

时间:2015-10-10 21:41:04

标签: swift swift2

我正在使用以下代码暂停该应用。

UIControl().sendAction(Selector("suspend"), to: UIApplication.sharedApplication(), forEvent: nil)
    do {
        print("suspended")
    } catch _ {
        print("unable")
    }

我想知道是否可以在一段时间延迟后重新打开应用程序。以下代码适用于在延迟之后执行操作。但我不知道如何在该时间间隔重新打开应用程序

let seconds = 300.0
    let delay = seconds * Double(NSEC_PER_SEC)  // nanoseconds per seconds
    let dispatchTime = dispatch_time(DISPATCH_TIME_NOW, Int64(delay))
    dispatch_after(dispatchTime, dispatch_get_main_queue(), {
        print("time delay")
    })

1 个答案:

答案 0 :(得分:0)

这是不可能的,具有这种“功能”的应用程序将被Appstore拒绝;)

https://developer.apple.com/library/ios/documentation/UserExperience/Conceptual/MobileHIG/StartingStopping.html

始终准备停止

iOS应用从不显示关闭或退出选项

当人们从您的应用程序切换时,iOS多任务处理会将其转换为后台并将其UI替换为新应用程序的UI。要准备这种情况,您的应用应该:

  • 尽可能快地保存用户数据。做 这是因为后台的应用程序可以被告知退出或 随时终止。
  • 在最精细的细节停留时保存当前状态。通过这种方式,人们不会失去他们的 他们切换回您的应用时的上下文。例如,如果你的应用程序 显示滚动数据,保存当前滚动位置。您可以 详细了解保护和恢复应用的有效方法 保持你的应用程序在启动时的视觉外观。

当用户在前台运行另一个应用时,某些应用可能需要继续在后台运行。例如,用户可能希望在使用不同的应用程序来检查他们的待办事项列表或玩游戏时,继续收听正在一个应用程序中播放的歌曲。了解如何在多任务处理中正确,优雅地处理多任务处理。

从不以编程方式退出iOS应用。人们倾向于将此解释为崩溃。如果某些内容阻止您的应用按预期运行,您需要告诉用户有关情况并说明他们可以采取的措施。