2016-05-19 47 views
0

正如標題所示,我正在尋找最簡單的方法來同步用戶生成的數據(整數,布爾值,NSDates等)在少數人之間(此時,我只是想在兩個人之間共享數據)。在應用程序中,用戶可以使用自定義對象的實例填充數組,並使用該數據填充UITableview。假設選擇組中的所有用戶都同步了他們的設備,他們都應該在tableview中看到相同的數據。什麼是快速同步少數用戶數據的最佳方式?

我最初的想法是寫入共享Dropbox或Google Drive文件夾中的json文件。然而,在網上瀏覽後,我發現這種方法可能會導致數據損壞。 Cloudkit只允許公共或私人(單一帳戶)同步,兩者之間沒有任何關係。我已經看到一些推薦使用Parse的文章,但該服務現在正在出路。

有沒有人知道一個(最好是免費)的方式來做到這一點?

+1

您是否打算在您的應用上擁有2或3個用戶,或者您計劃爲您的應用擁有無限用戶,但只能在2或3之間進行交互?如果是後者,我會建議Firebase。 –

+1

CloudKit將使用公共數據庫爲此工作。您只需控制每個用戶在應用中看到的公共數據的哪些部分。 – rmaddy

+0

感謝您的回覆。目前,該應用程序僅供個人使用,並且只有少數用戶。不過,我希望可以選擇將其擴展並在將來在App Store上發佈。看過Firebase的網站後,它看起來很有希望。我會看看! – kamisama42

回答

1

您有幾種選擇:

CloudKit數據庫 - CloudKit的數據庫系統具有不正是你想要的公共數據庫的概念。使用起來也相當簡單,並且可以免費使用Apple開發人員帳戶。唯一的缺點是它僅適用於Apple設備(AFAIK)。

Firebase - Google的Firebase與CloudKit的概念和功能基本相同,但可在多個平臺上運行。它與谷歌生態系統相關聯,所以你的使用都需要提供一個谷歌賬戶來使用它,但這些都是一個小問題。領域 - 從純粹的可用性角度來看,Realm是BY FAR是我在iOS上看到的最簡單的數據存儲解決方案。然而,它的共享功能目前是有限的,CloudKit支持計劃,但目前全部有this。如果您現在只需要本地存儲,那麼請務必將其保存在您的列表中。

無論您選擇哪種引擎,用戶都將被限制在通過自己的代碼訪問數據的某些視圖。我建議你用創建者的用戶名保存每條記錄,然後讓另一個包含讀/寫權限的表,例如,「maurymarkowitz」條目有「bobsmith,ronsmith,jonsmith」。您可以在登錄時檢索這些條目,然後將它們用作輸入查詢的示例,這兩個系統用於獲取記錄。

0

感謝所有有幫助的回覆。我結束了使用cloudkit/coredata,它爲我的目的很好。我簡單地使用了公共選項,併爲每個共享數據的用戶分配一個唯一的標識符,並將其附加到他們上傳的任何記錄中。當用戶將數據與雲同步時,應用程序僅對包含用戶標識符的記錄執行查詢。這樣,即使不共享iCloud帳戶,多個用戶也可以在他們之間同步數據。

相關問題