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



我使用以下代码暂停应用程序。

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")
    })

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

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

随时准备停下来

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

当人们离开你的应用时,iOS的多任务处理会将其切换到后台,并用新应用的UI替换它的UI。为了准备好这种情况,你的应用应该:

  • 尽快合理的保存用户数据做这是因为后台的应用程序可以被告知退出或退出随时终止。
  • 在最好的细节级别停止时保存当前状态。这样,人们就不会失去他们的上下文。例如,如果你的应用显示滚动数据,保存当前滚动位置。你可以了解更多保存和恢复应用程序的有效方法

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

永远不要退出iOS应用程序。人们倾向于将其解读为崩盘。如果有什么东西阻碍了你的应用正常运行,你需要告诉用户这种情况,并解释他们可以做些什么。

最新更新