我已經使用RealmTask教程(https://realm.io/docs/tutorials/realmtasks/)中的技術來演示與Realm對象服務器工作的同步。但是,如realm mobile platform, how to connect while offline?中所述,在存在間歇性網絡連接的情況下很難找到有關實現強大應用程序的設計指南。例如,當應用程序第一次運行時,網絡可能不可用,並且在教程示例中,我認爲在30秒後登錄嘗試會超時。移動客戶端(iOS,Swift)與領域對象服務器的可靠同步指南
從各種來源,我試圖勾勒出客戶端上的實現方法,並提出了以下幾點:
=================== ==========================================
在啓動時應用
與
SyncCredentials.usernamePassword()創建的登錄憑據
檢查是否獲得了用戶的用戶證書是否已經存在使用
SyncUser.all
如果是這樣,得到使用適當的鍵正確的用戶(用戶ID)
,得到領域配置使用
realmConfiguration = Realm.Configuration(SyncConfiguration(user,realmURL))
嘗試的登錄與
SyncUser.logIn與SyncCredentials
在完成時,把下面的主DispatchQueue(異步)
realmConfiguration = Realm.Configuration(SyncConfiguration(user,realmURL))
如果未登錄,請每隔N分鐘重複一次登錄嘗試,直至成功?例如。處理當應用程序啓動時網絡不可用的情況,但隨後變得可用?
啓動應用程序的其餘部分,使realmConfiguration可用。
但是,如果realmConfiguration已設置,則只能訪問Realm。設計應用程序,以便它可以處理未設置realmConfiguration的場景。
============================================== ===============
上述方法是否合理,還是有更好的解決方案?
謝謝Kasumi,我在演示中錯過了configureDefaultRealm()的意義。 – gimbal