我已經構建了一個旨在在iPhone和Mac OSX上運行(並共享iCloud數據)的應用程序。這兩個應用程序具有不同的捆綁標識符(在.iOS
和.OSX
分別結束),但我已在iCloud中設置Ubiquity Containers
是相同的:使用NSUbiquitousKeyValueStore在iOS應用程序和OSX應用程序之間共享iCloud數據
不幸的是,NSUbiquitousKeyValueStore
同步後,似乎數據在另一個設備上創建的對象不可用。
我已經構建了一個旨在在iPhone和Mac OSX上運行(並共享iCloud數據)的應用程序。這兩個應用程序具有不同的捆綁標識符(在.iOS
和.OSX
分別結束),但我已在iCloud中設置Ubiquity Containers
是相同的:使用NSUbiquitousKeyValueStore在iOS應用程序和OSX應用程序之間共享iCloud數據
不幸的是,NSUbiquitousKeyValueStore
同步後,似乎數據在另一個設備上創建的對象不可用。
我通過編輯由XCode自動創建的.entitlements
文件解決了這個問題。除了「無處不在的容器」之外,這個文件中還有一行叫做「iCloud Key-Value Store」,它可以修改爲使用相同的bundle路徑。一旦更改,我必須清理/重建應用程序和中提琴!數據被共享。
我通過編輯.entitlements文件解決了我的問題。確保「iCloud Key-Value Store」在應用程序中具有相同的值。