我有用Swift編寫的工作音樂應用程序。 我想整合一種睡眠模式,可以暫停10分鐘後播放的音樂。 我爲此任務使用perform(_ aSelector: Selector, with anArgument: Any?, afterDelay delay: TimeInterval)
,它工作正常。如何防止應用程序進入睡眠狀態,以便爲音樂集成睡眠模式
但是有一個問題。在10分鐘結束之前iPhone很可能會進入睡眠狀態,因此暫停功能不會被調用,並且音樂會繼續播放。
據我所知,還有其他方式可以在10分鐘後發送動作(NSTimer,使用GCD),但如果我明白,這些解決方案都不會阻止機器進入睡眠狀態,或者喚醒應用程序以執行任務。
也許我可以用background mode,但:
- 我的目標是不是真的在這種模式下是應該解決的問題。我不想有一些時間完成,我只是想在特定時間使用第二個處理器的1/10。
- 此選項不能保證在10分鐘內工作。
這是一種實現我所需要的方式嗎?
您可以防止設備進入使用'UIApplication的睡覺。 shared.isIdleTimerDisabled = true',但是這可能會把嬰兒扔出洗澡水。 – Erik