簡體   English   中英

iCloud和Shoebox應用程序:如何自動同步文件包?

[英]iCloud & Shoebox Apps: How to atomically sync a file package?

我有一個“ Shoebox” Mac應用程序,帶有一個基於UIDocument的iOS副本。

我正在嘗試找出通過iCloud在Mac和iOS之間同步數據的最佳策略。

我無法在Mac應用程序中使用NSDocument (這是一個鞋盒應用程序,沒有像iTunes中的相冊那樣具有獨立文檔的概念)。

對於Mac應用程序,我的計划是:

  • 將每個項目作為文件包存儲在“數據”目錄中
  • 使用文件包裝器編寫程序包
  • 使用文件協調來同步讀/寫操作(在文件包的“ root”文件夾中同步)

對於iOS應用:

  • 將Mac應用程序在數據目錄中創建的文件包作為UIDocument
  • 依靠UIDocument進行更改通知/文件協調
  • 我不會使用“ Documents文件夾,因為我不希望用戶在“設置”應用中查看文檔

我的問題:

  • 如何確保Mac上的文件包以一致的方式同步到iOS? (即,對包中多個文件的更改被自動視為一項更改)
  • 在目錄上設置“文件包”位是否足夠(我實際上是通過導出UTI來完成此操作)?
  • 有沒有一種方法可以實際模擬/測試?

在這里,您將步入一個沉迷的世界。 在機器之間同步文件包沒有萬能的靈丹妙葯-iCloud同步掩蓋了太多未解決的問題。 當包中的一半數據文件被寫完,然后用戶關閉計算機而其余的都不寫時,會發生什么呢? 如果正確地從網上讀取了主索引文件,但是在載入它所引用的任何數據文件之前網上發生故障該怎么辦?

據我所知,iCloud並沒有采取任何措施來解決此類問題。

但是,盡管如此,即使有了鞋盒應用程序,我也會(也確實)使用NSDocument。 使它能夠做您想要的事不是很多工作,而且您免費獲得了很多東西。 就像,只需從主菜單中剝離“打開”和“保存”菜單項,並在應用程序啟動時告訴NSDocumentController打開數據文件。 那就是我們要做的。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM