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

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

最佳答案

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

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

时刻准备停止

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

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

  • 尽快并尽可能频繁地保存用户数据。做 这是因为后台的应用程序可以被告知退出或 随时终止。
  • 在尽可能最详细的细节级别停止时保存当前状态。这样,人们就不会丢失他们的信息 当他们切换回您的应用程序时的上下文。例如,如果您的应用程序 显示滚动数据,保存当前滚动位置。你可以 详细了解保存和恢复应用程序的有效方法 请参阅“在启动时保持应用程序的视觉外观”中的状态。

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

切勿以编程方式退出 iOS 应用。人们倾向于将此解释为崩溃。如果某些事情阻止您的应用程序按预期运行,您需要告诉用户这种情况并解释他们可以采取哪些措施。

关于swift - 是否可以在 Swift 中延迟一段时间后重新打开暂停的应用程序?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33059242/

相关文章:

ios - 使用 CommonCrypto 的 Swift AES 加密

ios - 如何在 openURL swift 中捕获错误的 URL

swift - 如何从 swift 字典中删除键值对?

swift - 在快速枚举中,何时使用原始值以及何时使用关联值

javascript - 如何从javascript调用swift函数

ios - 无法取消电话号码中的拨号盘

ios - 将 Swift 转换为 F#——可选项和类型转换

ios - 如何从 flutter -> swift && swift -> flutter 传递数据?

ios - Webtrends-iOS SDK (3.0.14) 响应代码 500

swift2 - swift : How to use for-in loop with an optional?