1

我正在 mac osx 上用 python 制作一个应用程序,需要更改 config.cfg 文件。我通过使用将 python 脚本转换为 myapp.app py2app。我通过 setup.py 将我的 config.cfg 文件包含在 myapp.app 的资源位置中。然后,我曾经Packages通过制作myapp.pkg文件将 myapp.app 安装在 /Applications 位置。但是,当我通过 Show Package Contents 在应用程序位置打开 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。我的 config.cfg 文件

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

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

1 回答 1

1

不要在 app bundle 中存储可修改的数据;其中的所有内容都应该是静态的,其他权限将一团糟,代码签名会中断等。通常,用户可修改的文件属于用户的主文件夹。对于配置文件,最好的做法可能是将其视为首选项文件并将其存储在 ~/Library/Preferences.xml 中。请注意,首选项文件的命名约定是在应用程序名称之前以相反的顺序使用您的域名作为前缀(例如 com.apple.Finder);如果您没有域名,我建议您使用“本地”作为前缀。此外,该文件夹中的大多数文件都是 .plist 格式(例如 com.apple.Finder.plist);您的文件可能不是,所以使用一些更合适的扩展名(.cfg 就可以了)。

于 2013-10-28T15:31:06.100 回答