2016-01-18 101 views
0

所以我需要這個應用程序運行超過3分鐘的計時器,並播放45秒鐘的聲音,這裏的大多數解決方案只需要不到3分鐘iOS版。除非應用程序停止,否則有辦法讓它始終運行嗎?讓計時器在後臺iOS上運行超過3分鐘

經過研究,我想解決的辦法是實行beginBackgroundTaskWithExpirationHandler

,並給予上plist一個handler和設置位置更新停止呢?

至於音頻,除了設置plist,還有其他什麼需要做音頻播放?

Swift how to use NSTimer background? iphone - NSTimers in background Run app for more than 10 minutes in background

+0

我有這個計時器應用程序..它顯然是在我點擊主頁按鈕後運行在後臺,它可以運行像一個小時.. !!! – martingale

+0

什麼是計時器應用程序?也許我們可以看一看,並可以告訴你它在做什麼。 – Rob

+0

簡單的間隔計時器。欣賞它。搜索時的第一個 – martingale

回答

1

沒有,爲了拯救我們大家從殺死我們電池的應用程序,蘋果不允許應用程序繼續在後臺運行超過幾分鐘。只有非常特殊的限制(音樂播放應用程序,VOIP,導航應用程序等)允許持續運行。在細節方面,這在適用於iOS的應用程序編程指南的Background Execution一章中有描述。

如果您想在未來某個時間通知用戶某件事,可以使用本地通知。但是,當您這樣做時,您無法控制應用程序是否重新啓動。只有當用戶點擊通知(假設他們甚至授予您的應用程序通知特權),應用程序纔會重新打開。有關更多信息,請參閱Local and Remote Notification Programming Guide中的本地通知討論。但請注意,這不是用於每45秒發出一次警報,而是針對未來某個時間的重要通知。

有關如何使用計時器與本地通知結婚的討論,請參閱swift NSTimer in Background以及此問題後續問題swift calculate time for timers running in background

+0

我有這個計時器應用程序..它顯然是在我點擊主頁按鈕後在後臺運行,它可以運行像一個小時..!它每1分鐘發出一次蜂鳴聲,當我進入計時器時仍會繼續。 – martingale