2017-07-13 30 views
2

我正在用以下插件使用Ionic:cordova-plugin-icloudkv將數據保存在Apples iCloud中。科爾多瓦插件不保存到iCloud

我的呼喚:

save(key, value, successCallback) 

既節約了,即我可以訪問它再次:

sync(successCallback/*(dictionary_with_all_sync_keys) 

然後

load(key, successCallback/*(value)*/, failCallback) 

,並得到保存的值符合預期。

問題

當我關閉應用程序,並重新啓動它,並嘗試:

sync(successCallback/*(dictionary_with_all_sync_keys) 

則:

load(key, successCallback/*(value)*/, failCallback) 

我得到:

關鍵缺少

就好像這個值沒有被保存到iCloud,而是隻有本地存儲,當應用程序關閉時丟失。

問題

我怎樣才能使上述堅持到iCloud

感謝

回答

1

我猜你可能要在official link

它規定如下再次讀取插件的使用,

提醒:調用同步並不保證(或物體, )與iCloud同步,但只能在內存和閃存之間進行同步,最終將由獨立代理與iCloud同步。

所以同步實際上取決於獨立代理。這個插件只是推送可用於同步的數據。希望它有幫助

+0

我看到cordova-plugin-icloudkv包裝了'NSUbiquitousKeyValueStore'。這不是說它應該與'iCloud'同步嗎?因爲'NSUbiquitousKeyValueStore'將完成所有工作,即「獨立代理」?我看到我的應用程序沒有設置「iCloud Containers」。我會這樣做,並測試。如果有效,會報告回來。 https://developer.apple.com/library/content/documentation/General/Conceptual/iCloudDesignGuide/Chapters/DesigningForKey-ValueDataIniCloud.html – Richard

+0

@Richard檢查了這一點 - https://stackoverflow.com/questions/11389516/nsubiquitouskeyvaluestore -sync-issues同步頻率是系統控制的,我不是時間。 NSUbiquitousKeyValueStore jus通知icloud數據可用於同步 – Gandhi

+1

我剛剛用'iCloud Containers'設置了我的應用程序,即我的Provisioning Profile具有啓用「iCloud」的服務。它的工作原理!我可以卸載我的應用程序,然後當我再次安裝它,並且加載k-v對時,值被檢索。 – Richard