2012-12-18 79 views

回答

1

應用程序通常不希望修改自己的包(它們的應用程序目錄)。除非您計劃將這些寶石作爲應用程序的一部分發布,否則應該在應用程序的「應用程序支持」目錄中爲它們創建一個寶石之家。

https://developer.apple.com/library/mac/documentation/General/Conceptual/MOSXAppProgrammingGuide/AppRuntime/AppRuntime.html#//apple_ref/doc/uid/TP40010543-CH2-SW9

應用程序支持目錄是你的應用程序商店,支持應用程序,但在應用程序運行不要求任何類型的文件,如文檔模板或配置文件等。這些文件應該是特定於應用程序的,但不應該存儲用戶數據。該目錄位於庫目錄內。

切勿將文件存儲在此目錄的頂層:始終將它們放在爲您的應用程序或公司命名的子目錄中。

如果資源適用於系統上的所有用戶(如文檔模板),請將它們放在/ Library/Application Support中。要獲取此目錄的路徑,請在NSLocalDomainMask域中使用NSApplicationSupportDirectory搜索路徑密鑰。如果資源是用戶特定的,例如工作區配置文件,請將它們放在當前用戶的〜/ Library/Application Support目錄中。要獲取此目錄的路徑,請在NSUserDomainMask域中使用NSApplicationSupportDirectory搜索路徑密鑰。

+1

如果應用程序需要這些寶石功能,我會傾向於將它們與應用程序一起發貨。如果有人第一次啓動應用程序而無法訪問rubygems或無論您從哪裏獲取寶石,至少應該有明確的失敗案例。 – Jonah

+0

是的,它們是應用程序運行所必需的。那麼它會是:export GEM_HOME = Applications/Program/Program.app /或者它是否在Resources或其他地方的文件夾內? – Anoel

+0

我認爲他們至少需要在你的包的目錄目錄中才能使應用包有效。我認爲我會贊成內容/寶石,但內容/資源/寶石也可能有意義。對不起,除了可執行的Ruby腳本之外,我沒有一個合理的觀點,他們似乎不應該將它們與Resources dir中的應用程序數據混合在一起。那裏可能會有更好的消息。你看過MacRuby應用程序如何打包? – Jonah

相關問題