2012-04-16 82 views
0

我正在開發一個Cocoa應用程序,它需要10.7+。所以,我會很樂意使用新的閃亮的API。在Cocoa中存儲下載的文件

我想要做的是從我們的後端服務器下載一些MP3和可能的一些XML數據,並將其存儲在用戶的Mac上。我非常想將存儲在「application.app」目錄中,以及與應用程序捆綁在一起的初始資源。

我可以這樣做嗎?將文件存儲在application.app中?

如果不是,那麼存儲附加數據的首選目錄在哪裏?

注意:它必須支持蘋果的新沙箱thingie。


(這是一個好主意:reference

// save our buddy list to the user's home directory/Library/Preferences. 
    [prefs writeToFile:[@"~/Library/Preferences/MiniMessage Client.plist" 
        stringByExpandingTildeInPath] atomically: TRUE]; 
+0

如果我沒有錯,我認爲沙箱模式不允許你下載任何擴展程序使用的文件。 – TheAmateurProgrammer 2012-04-16 05:58:29

+0

你部分正確。但是,通過添加適當的權利,您可以從互聯網上檢索數據。 (另外,如果所有的應用程序都將受到限制,不妨將appStore燒掉。) – Mazyod 2012-04-16 06:21:00

+0

爲什麼不使用應用程序支持目錄? – Costique 2012-04-16 06:28:56

回答

1

這裏是蘋果公司的App Sandbox Design Guide並宣讀了 「容器目錄和文件系統訪問」。目錄「〜/ Library/Container/com.yourcompany.yourappname /」及其子目錄將僅限於您的應用程序,因此在我看來,該目錄將是您保存從網絡下載的內容的最佳位置。

+0

在發佈這個問題之前,我翻了一遍,但是我好像錯過了關於容器目錄的部分..但是,我想制定這個計劃B.計劃A將它存儲在application.app中(使其成爲超級便攜式)。 – Mazyod 2012-04-16 07:00:13

+0

TBH在閱讀詳細信息後,我將授予此答案爲Plan S,取代計劃A.這是應用程序應如何正確存儲其數據! – Mazyod 2012-04-16 07:05:28