2012-02-23 58 views

回答

1

如果它是通過應用程序商店分發或簽署一個應用程序(或兩者),您可以取代應用程序包中的文件而不會破壞它(如果它不會在後續嘗試推出)。

您沒有在您的問題中提供足夠的信息來解釋您正在嘗試做什麼。這是否是爲編寫的應用程序,或者是否適用於具有站點許可證或應用程序且根本無法控制的應用程序?

如果這是你寫的應用程序,蘋果建議~/Library/Application Support/~/Library/Cache/或其他目錄中安裝資源,然後 - 在大多數情況下 - 你必須創建你的應用程序中的一些機制來獲取和保存更新資源。可能有一些MacOS提供的東西,比如NSCache

+0

感謝您的信息。我是Mac新手,我想以適合Mac OS X的形式部署我自己的基於Java的軟件。該軟件不通過App Store分發,並且未簽名。我正在使用JarBundler創建App Bundle(+對plist文件進行了一些手動修改),並創建了一個dmg用於在CD上進行部署。用戶數據存儲在user.home中,但其餘部分包含在應用程序包中。應用程序包似乎只是一個目錄結構。我想知道是否可以自動替換這個結構中的文件。否則,用戶將不得不手動複製文件。 – user1227776 2012-02-24 09:09:36

+0

我仍然認爲使用'〜/ Library/Application Support'或'〜/ Library/Cache /'或'〜/ Library/Preferences'中提供的文件夾層次結構會更聰明,特別是如果Apple決定鎖定* all *未來版本的MacOS上的應用程序和應用程序包。 – 2012-02-24 09:33:21

+0

這似乎很容易:只要你有管理員的特權,即使它們駐留在程序文件夾中,也可以輕鬆地寫入未簽名的應用程序包。我用一個單獨的過程來替換相應的內容。似乎工作正常! – user1227776 2012-03-07 14:37:48