2016-12-26 30 views
1

我的目標警報:在我的音樂音頻播放器實現睡眠功能。如果用戶選擇說30分鐘的睡眠時間,那麼應用程序應該醒來並停止當前播放的音樂。如何安排其無需用戶干預醒來iOS應用

問題:[self performSelector:@selector (onTimer_sleep) withObject:nil afterDelay:sleepIntervalInSeconds];一旦手機被鎖定不起作用;

我的嘗試:使用UILocalNotification。但是,只有當應用程序是最重要的,並且在系統發送通知時可見的情況下,這纔有效

你會推薦我的使用情況怎樣?我應該實施背景模式嗎?你會建議哪種bg模式,「後臺獲取」?

回答

2

簡短的回答:不能。 Apple嚴格限制了允許在後臺運行的應用程序。

如果你的應用程序是一個音樂播放應用程序,支持從後臺播放,那麼你所有的設置。這是允許在後臺運行超過幾分鐘的應用程序的小列表之一。在您的應用中播放音樂時,您仍應獲得背景時間。

正如你發現的那樣,如果用戶點擊它們,或者如果應用程序在前臺運行,本地通知只會被傳遞。

您可以設置服務器來發送靜默推送通知,但這需要網絡連接,並且推送通知無法準確定時。

+0

[NSBackgroundActivityScheduler](https://developer.apple.com/reference/foundation/nsbackgroundactivityscheduler)做類似的事情。但它只適用於macOS。 – RoHaN

+0

@RoHaN,iOS在背景活動方面受**嚴重限制,MacOS不適用。 –

+0

完全同意..... – RoHaN

相關問題