2013-10-28 48 views
1

我在mac osx上製作了一個應用程序,需要在config.cfg文件中進行更改。我使用py2app將python腳本轉換爲myapp.app。我通過setup.py將我的config.cfg文件包含在myapp.app的Resources位置中。然後,我使用Packages通過製作myapp.pkg文件在/ Applications位置安裝myapp.app。但是,當我通過Show Package Contents在Application location中打開myapp並嘗試編輯config.cfg文件時,會出現一個對話框,其中顯示You don't own the file config.cfg and don't have permission to write it。我使用osx 10.8.5 Mountain Lion和Xcode 4.6.1。 MY config.cfg文件如何在通過mac osx上的軟件包安裝的應用程序中編輯文件

[FOLDER] 
extensions = cfv 
############################# 

[KMS] 
serverIP1 = 127.56.98.104 
serverPort1 = 8080 
serverIP2 = 172.46.84.145 
serverPort2 = 8080 
SSL=TRUE 

回答

1

不要在應用程序包中存儲可修改的數據;一切都應該是靜態的,其他線路的權限將是一團糟,代碼簽名會中斷等等。一般來說,用戶可修改的文件屬於用戶的主文件夾。對於一個配置文件,最好的辦法可能是將其視爲一個首選項文件並將其存儲在〜/ Library/Preferences中。請注意,首選項文件的命名慣例是在應用程序名稱前面以相反順序使用您的域名作爲前綴(例如com.apple.Finder);如果您不擁有域名,我建議使用「local」作爲前綴。此外,該文件夾中的大多數文件都是.plist格式(例如com.apple.Finder.plist);你的文件大概不是,所以使用一些更合適的擴展名(.cfg會很好)。

+0

我很感謝你的建議先生。如何將config.cfg文件提供給不同的用戶。最初,代碼必須從config.cfg文件讀取大量數據以啓動應用程序的運行。 – imp

+0

我不知道我明白你想要完成什麼。在OS X中,每個用戶通常都有他們自己的個人應用程序設置,他們配置和維護。我想你可以給你的.cfg文件的副本,並將它放在他們的〜/ Library/Preferences文件夾中...... –

+0

先生,請參閱我的config.cfg文件,關於應用程序的運行,所需的serverIP和端口。我通過這個config.cfg文件。用戶需要根據其服務器更改此serverIP。另外我使用configparser來讀取配置文件。所以,你是說,我需要製作一個將包含的dmg文件,將安裝在應用程序位置的myapp.pkg以及用戶需要將其放置在〜/ Library/Preferences文件夾中的config.cfg文件。有沒有辦法直接將config.cfg文件放置在〜/ Library/Preferences位置,同時安裝應用程序,而不會造成用戶干擾。 – imp

相關問題