2014-09-24 87 views
0

我開始研究iOS 8擴展,並且我看到應用程序組是提供用於在主機應用程序和擴展之間傳遞數據的機制。這種數據共享可以通過NSUserDefaults,平面文件和核心數據來完成。當您設置應用程序組時,會在應用程序沙箱外的設備/模擬器上創建一個新目錄。該目錄可以從主機應用程序和擴展程序訪問,並且看起來來自同一個帳戶/團隊的其他應用程序也可以訪問此目錄。iOS 8 App Group目錄的預期生命週期是什麼?

鑑於這一切,我想知道什麼是共享應用程序組目錄的生命週期及其內容。我一直無法找到任何解釋這一點的Apple文檔。模擬器上的一些經驗性測試顯示,如果安裝了多個訪問應用程序組的應用程序,則在刪除具有該應用程序組授權的最後一個應用程序時,該目錄將被刪除。這是我期望看到的。我想確認情況是這樣的。另外,系統在低光盤條件下是否有可能清除此位置?

我試圖確定它是否是「安全的」我的存儲應用的主要核心數據的數據庫在此應用程序組的位置,或者如果我要製作數據副本,而不是存在。我不希望我的主數據庫被系統意外地從我的下面消除。

另外,App Group目錄的意圖是什麼?它們是僅用於與擴展共享數據,還是用作同一開發者帳戶/團隊的應用之間的通用數據共享機制?

回答

1

我也在蘋果開發者論壇上發佈了這個帖子,並得到了蘋果開發者關係專家的回覆。以下是他們所說的內容:

在低光盤條件下系統是否有可能清除此位置?

不會發生的。

我試圖確定將應用程序的主要核心數據庫存儲在此應用程序組位置中是否「安全」,或者如果我應該在那裏製作數據副本。

將您的核心數據存儲放在App Group目錄中是非常合理的。

此外,什麼是應用程序組目錄的意圖是什麼?

他們在那裏,這樣的應用程序套件可以共享數據。我認爲這個最清晰的表達來自Mac文檔。 「應用沙盒設計指南」雲:

[...]的應用程序可以使用com.apple.security.application基團的權利要求到共享容器是常見的由產生的多個應用程序的訪問同一個開發團隊。此容器適用於不面向用戶的內容,例如共享緩存或數據庫。

Documentation