Re: [問題] iCloud 同步不同 App 的資料
※ 引述《leondemon (狗狗)》之銘言:
: 請教各位先進
: 因為有一個需求 必須先發佈一個 Lite 版 然後之後才發佈另一個完整版
: 這兩個 App 是各自獨立的(也是不同的開發者帳號)
: 而希望在 Lite 版上的資料 (SQLite data)
: 能夠在使用者下載完整版之後,能夠順利的同步到完整版的 App 中
: 目前想到的解法 是使用 iCloud
: 雖然上網查了一下 似乎是可以在同一個 Device 而不同 App 之間使用 iCloud 共用資料
: (這一點我不是很確定 不知道有沒有人有經驗?)
: 但是有幾點事項不是很確定,希望能夠幫忙指點一下:
先說明一下,就我知道的iCloud有分2種
一種是開發者將檔案放在可以iCloud會備份的位置(ex.Documents)
(預設是自動備份,開發者可以設成不要),是整個備份的那種,
我想這應該不是你要問的吧~~!
另一種是讓開發者用來,讓使用者用此一App在不同iDevice可以同步使用資訊用
以下回答是指這一種
: 1. 能否再次確認兩個 App 之間(不同的開發者帳號),能否使用 iCloud 同步資料?
不能使用,不同開發者,視為不同的位置,如果你有勾取Enitilements File
會發現是綁帳號 ,(和Keychain一樣)
: 2. 兩者的 App 都是支援 iOS 5.0+,在這環境下使用 iCloud 是否沒有問題?
你要擔心的是JB才是問題,目前收取,iCloud有2種方式
一種是設路徑後,每次用到自己上傳下載(時間,動作 自己掌控 沒問題)
另一種是設路徑後,自己上傳,下載觸發交給
NSUbiquitousKeyValueStoreDidChangeExternallyNotification
但是 只要有在jb的iDevice內有灌AppSync 就會被檔下來
所以Notification形同沒作用
: 3. 需要同步的資料是 SQLite 的檔案,若不同 device 之間的資料有 conflict
: 是否會自動 merge?
注意容量大小,而是有限制的,且是以"後傳"的當新資料,iCloud沒那麼聰明
所以merge 方式 請自己寫程式辨別
: 4. 同一支裝置的 App 之間利用 iCloud 同步資料,有沒有什麼需要注意的地方?
沒問題,因為是讀取同一個地方(同一個開發者帳號的話),會很快
另外提一下,iCloud不是隨時都在同步的,假設A裝置上傳,B裝置接收
AB都使用3G 大概最少要20秒,最長5分鐘
AB都是WiFi 同一網路 且沒有proxy問題 大概最少要6秒,最長5分鐘
AB都是WiFi 同一網路 有設proxy 這很難說,,因為有些設proxy設定很奇怪
以讓你連不到iCloud,卻又可以 iMessage
所以最快6秒 最長,,到你網路通才有
其實我只是想要說明,iCloud傳值,會有時間差,
而且使用者不一定會在iCloud內把"文件和資料"打開
對你而言應該是,使用指是否有在用iCloud才是問題~~
: 謝謝 ^^
以上是我自己的測試過的經驗,如果各位發現有錯誤的地方,也懇請指正,
讓我知道,TKS~~
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 115.82.204.27
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
MacDev 近期熱門文章
PTT數位生活區 即時熱門文章