我在使用iOS上的背景技術時遇到了一些麻煩。首先,讓我給一個簡短的說明:在iOS中使用Xamarin.iOS(C#)創建背景:我應該使用哪種方法?
我爲一家工作管理公司工作,該公司可以接收和分發工單查找工具。用戶可以從我們的服務器上下載票據,處理它們,並將他們的回覆發送回我們的服務器。下載的票據進入本地SQLite數據庫,並且用戶做出的響應存儲在另一個本地SQLite數據庫中。我的同事寫的Android應用在Xamarin與C#和他的智能化進程,下載門票和上傳回復如下:從我們的服務器
- 下載門票到本地SQLite數據庫的「入場券」
- 檢查當地的「迴應」的SQLite數據庫,看是否有做
- 反應訂做的話有反應,將其發送到我們的服務器
- 等待5分鐘
- 重複
這允許用戶初始下載一批票並開始工作。如果此過程在用戶沒有互聯網的情況下運行,則不會發生任何事情,並且定時器將重置。這個過程將允許用戶在沒有互聯網的情況下對票據作出響應,並且每當他們有互聯網時就會上傳響應/下載新票券。
我的問題是,在iOS上,背景比在Android上限制得多。有後臺提取,然後有推送通知。通過後臺獲取,系統「計算出運行PerformFetch
方法的最佳機會」,並且不會給我必要的嚴格的5分鐘計時器。通過推送通知,如果用戶沒有互聯網,他們將永遠不會收到推送通知。
我真的很希望能夠像上面描述的那樣簡單地設置一個5分鐘的定時器,並且讓程序運行,檢查是否有任何新票和發送任何新的答覆,如果有任何禮物。但由於iOS背景的限制性質,我無法做到這一點。
有什麼建議嗎?他們會更感激。
謝謝。