2016-02-25 52 views
0

我正在爲OS X快速製作Clock應用程序。我在我的Clock應用程序中有一個Timer,它的工作原理與iOS中的一樣。我的問題是每當我將我的應用程序放入後臺或將其最小化時,應用程序會在後臺停留一分鐘左右就凍結或停止計數。它開始工作的地方,當我把它放到前臺。無論如何,我可以讓我的應用程序在後臺運行?我看過,並沒有發現任何可行的。使OS X Swift應用程序在後臺運行

感謝任何人都可以提供幫助。

+0

http://stackoverflow.com/a/27997548/2303865 –

回答

1

你是否依靠計時器來「計數」秒數?您應該只使用定時器來激發顯示的更新。當計時器觸發時,您應該檢查實際時間並根據該時間計算應該顯示的內容,而不是計時器已觸發多少次。應用程序永遠不應該將應用程序「從停止工作的地方開始工作」(如果這意味着您的應用程序顯示的是與後臺時間相同的時間並從此再次開始計數)。

可能發生的情況是您的應用正在投入App Nap。另請參閱Energy Efficiency Guide for Mac Apps

+0

我想知道如何讓我的應用程序不被放入App Nap。 –

+0

爲什麼?如果它只是一個時鐘,爲什麼當它不可見時繼續工作很重要?當它可見時,系統會不斷給它時間讓它更新,但不太頻繁。仍然應該足夠頻繁地更新。但正如我所描述的,您必須以正確的方式進行更新。 –

+0

呃,也許我沒有明確說出我的問題,如果是的話,我很抱歉,我不擅長措辭句子。但我確實說過我有一個iOS中的定時器。我想讓計時器在後臺繼續更新。這很重要,如果它不在後臺更新,那麼我的應用程序變得不可靠,並且會得到不好的評價。雖然我的應用程序被稱爲「時鐘」,但我的應用程序有一個定時器,秒錶和鬧鐘,所有這些都需要在後臺更新以保持精確。我的應用程序有點像iOS中的時鐘應用程序。希望這有助於。 –