測試的 device 分別是含iOS 5 的iPhone 4,和已經更新 iOS 6 的 new iPad。我遇到的問題是這樣:
- 移除App後,用 iPad的Settings清掉iCloud的資料。(Settings -> iCloud -> Storage & Backup -> Manage Storage -> Your App under "Documents & Data")
- 移除 iPhone 上的 App。
然後開始在 iPad 上測試,詭異的事情發生了,設定裡已經看不到舊的資料,但是執行程式時
[[NSFileManager defaultManager] isUbiquitousItemAtURL:url];
卻一直傳回TRUE,表示這個資料已經存在,而且還真的存在,會讀到舊的資料然後因為格式不符而執行異常。但是在 iPhone 上試的話則回傳 FALSE,因此 App 就做份新的資料並上傳。實在沒時間深究原因,最後就直接用 iPhone 上傳,然後再用 iPad測試,終於正常了。
iOS 5 的 iCloud 很怪,居然缺了最基本的功能,導致在 iOS 5 上需要至少一個檔案在 iCloud 上,然後監視這個檔案的狀態來做對應的處置(比如 user 登出iCloud)。雖然 iOS 6 解決了這個問題 (NSUbiquityIdentityDidChangeNotification of NSFileManager),但是我不想寫兩份code啊!
No comments:
Post a Comment