2016-03-07 44 views
1

我正在構建一個需要在家庭成員之間同步數據的應用程序(如共享購物清單),並且我正在考慮CloudKit。我的理解是,我可以擁有公開給每個人的表格,或者只有一個個人/ iCloud帳戶的表格。我需要的是兩者的混合體。所以有兩個問題:CloudKit可以創建共享的私有容器嗎?

1)有沒有辦法在父母之間私下共享數據,只有他們(共享私人容器,實際上)?

2)如果我在一個公共容器中創建所有數據,並簡單地過濾出誰可以看到應用程序上的內容,那麼這個公共容器數據是否可以被任何人查看/破解? (我問這是因爲可能涉及到一些輕微敏感的數據)。有人可以做相當於「全選」並查看所有內容嗎?

非常感謝,

喬希

回答

1

有一對夫婦的方式來實現這樣的事情。在所有情況下,它歸結爲:

添加一個CKReference字段,該字段將填充您想要共享的用戶的ID。 確保您的謂詞將篩選該ID爲您的CKReference字段(與您共享) 您在哪裏以及如何存儲該CKReference取決於您想要共享的方式。

如果您只想與一個人共享,那麼只需將該CKReference字段包含到您的主recordType中即可。不要像您在問題中所述的那樣將其添加到消息中。添加一個額外的字段。 如果你想分享給有限的人,那麼你可以添加一個字段到你的recordType這是一個CKReference列表。 如果你想與大羣人分享,那麼你可以添加一個groupType recordType,它將有一個groupID加上一個groupMembers recordType,你可以在其中存儲所有用戶的CKReference ID,它們是該組的成員。 在任何情況下,解決方案都是安全的。這一切都歸結於您在應用中定義的謂詞。如果其中一個謂詞過濾器不正確,則可能發生某人看到不適合他的事情。

在演示應用程序EVCloudKitDao是一個基於CloudKit的聊天應用程序。它使用便利庫EVCloudKitDao,但分享內容的結構類似。

+0

謝謝。我一直在尋找一些不同的技術,這是最有幫助的。 – Josh

相關問題