iOS 后台任务 Swift

Posted

技术标签:

【中文标题】iOS 后台任务 Swift【英文标题】:iOS Background Task Swift 【发布时间】:2017-02-08 05:50:37 【问题描述】:

在后台向用户播放可听内容的应用,例如音乐播放器应用

让用户随时了解其位置的应用,例如导航应用

支持互联网协议语音 (VoIP) 的应用程序

需要下载和处理新内容的报亭应用

从外部附件接收定期更新的应用程序


我的应用是这些类型之一

    我想实现 iPhone 在后台 x 分钟时自动播放音乐(例如 10 分钟播放音乐)。

    是否可以接收数据然后自动发送数据到数据库(例如记录天气信息)或接收数据(例如天气信息)然后使用文本转语音告诉用户天气信息?

【问题讨论】:

文本转语音使用AVSpeechSynthesizer 用于自动存储数据。创建一个数据库并创建一个需要每 X(小时/分钟/秒)调用一次的函数并编写代码以将数据存储在该函数中 【参考方案1】:

当应用程序在后台运行 10 分钟时,您可以实现自动。 您应该在 viewController 的 viewDidLoad 中添加

    NSNotificationCenter.defaultCenter().addObserver(self, selector: Selector("myObserverMethod:"), name:UIApplicationDidEnterBackgroundNotification, object: nil)

    func myObserverMethod(notification : NSNotification) 
    print("Observer method called")
     var timer = Timer.scheduledTimer(timeInterval: 60.0*10, target: self, selector: #selector(self.play), userInfo: nil, repeats: false);



func play () 

// here play the music 


【讨论】:

以上是关于iOS 后台任务 Swift的主要内容,如果未能解决你的问题,请参考以下文章

从 Swift 到 Objective C 后台升级的翻译数据任务功能

后台任务未在 Swift 中调用类

如何使用 Swift 3 使用后台任务?

后台任务未在 Swift 中重新启动

applicationWillTerminate 上的 Swift 后台任务

每小时安排后台任务swift 4