我目前正在swift開發一個應用程序,我想知道是否有辦法在用戶手機上每隔幾天運行一段代碼?一個例子是我每5天運行一段代碼。我怎樣才能每天運行一段代碼
回答
無法在您請求的時間間隔內永久性地在後臺執行任務。完成後臺任務的時間限制爲10或15分鐘。
你想在背景中做什麼特別的事情?對於需要更多執行時間來執行的任務,您必須請求特定權限才能在後臺運行它們而不會暫停它們。
你可以閱讀更多關於後臺執行here。
如果您想在手機處於活動狀態時運行某些操作,您可以通過檢查AppDelegate中的applicationDidBecomeActive
函數來執行此操作。
在iOS中,您無法控制何時打開應用程序,並且您的應用程序不能隨意加載自身以運行代碼(除非涉及推送通知)。這就是說,您可以使用AppDelegate
中的一種方法來檢查自上次運行代碼(您可以將其存儲在UserDefaults
中)之後是否已經過去了5天或更長時間,並且如果存在,則運行。
我確信有更有效的方法來做這件事,因爲我只是一個初學者,但我不妨嘗試提供幫助。你可以創建一個NSTimer,每隔幾天觸發一次。 NSTimeInterval
將是60(秒)* 60(分鐘)* 24(小時)*(您希望的天數)。然後Selector
將是「(不管你的函數的名字是什麼)」。最後,無論你希望每隔x天發生什麼,你會在NSTimer
中的Selector
函數中放入最有可能會出現在override func viewDidLoad() {}
中的函數,我希望這可以幫助你和未來的觀衆。
首先:您的答案將受益於格式。第二:24 * 60 * 60是錯誤的。由於DST日期可能爲23,24或25小時。 – vikingosegundo
- 1. 我怎樣才能看到每一行?
- 2. WHMCS,我怎樣才能運行代碼只有一次
- 3. 我怎樣才能讓我的Python代碼的運行速度
- 4. iOS版:我怎樣才能在代碼
- 5. 我怎樣才能使這個代碼
- 6. 我怎樣才能結合代碼
- 7. 我怎樣才能JSP或Java代碼
- 8. 我怎樣才能通過代碼
- 9. 我怎樣才能得到一個反覆運行的Python代碼?
- 10. 我怎樣才能運行一些代碼在角度的所有$ http呼叫
- 11. 我怎樣才能將這段代碼用於其他活動?
- 12. 我怎樣才能實現這段代碼?
- 13. 我怎樣才能一次咀嚼陣列中的每一行?
- 14. 我怎樣才能每天分割舞者錯誤日誌?
- 15. 我怎樣才能
- 16. 我怎樣才能爲每個外鍵
- 17. 我怎樣才能讓一個java程序一直運行?
- 18. 我怎樣才能編號表的每一行中的SQLite
- 19. 我怎樣才能打印每一行讀者
- 20. 我怎樣才能得到我的表中每一天的字數
- 21. 我怎樣才能進一步簡化這塊LINQ代碼
- 22. C#每30天運行一次代碼
- 23. 我怎樣才能寫出一段時間的PHP代碼,然後修復它
- 24. 重構我的代碼,我怎樣才能在一個塊中寫這些行?
- 25. 我怎樣才能讓我的代碼在文本文件中測試一行?
- 26. 我怎樣才能一次運行NHibernate的多個插入?
- 27. 我怎樣才能得到每週給定的一天的時間戳?
- 28. 我怎樣才能顏色我的代碼打印
- 29. 我怎樣才能優化我的代碼與angularjs
- 30. 我怎樣才能防止從我的apk獲得源代碼
這是什麼平臺? – sschale
是的,我已經將它添加到現在的問題和迅速 – Tunds
不,像這是一個mac?一部手機?在服務器上開源swift? – sschale