部署在Mac上的QT程序。 从Qt Creator的内部运行时配置文件不写的时候独立的应用程序推

2019-11-03 17:43发布

我有我已经为Mac OSX上开发的程序。 当程序从Qt Creator的内部运行,日志文件和文件的config.cfg在myapp.app/Contents/MacOS文件夹的创建,旁边的可执行文件。 这是正确的行为,程序都需要这些文件。

当我部署的应用程序来运行独立的(通过使用macdeploymentqt工具,将所需的库)的应用程序启动和运行正常不过的日志和文件的config.cfg没有得到写入myapp.app/Contents/MacOS文件夹等设置可以“T中读出。

反正是有解决这个问题? 有没有人遇到过吗?

米奇

Answer 1:

OSX可能不会让你上安装的应用程序写入到你的包的位置,出于安全原因,因为它可以当多个用户使用你的应用程序冲突。

是跨平台的,你可以改为写信至:

QStandardPaths::writableLocation(QStandardPaths::AppLocalDataLocation)

解析为

~/Library/Application Support/<APPNAME>

C:/Users/<USER>/AppData/Local/<APPNAME>

或等同于Windows。



Answer 2:

你永远应该写入应用程序包,无论是在Mac或Windows。 即使是在Windows上,如果你的用户是不是管理员将无法正常工作。 这个想法在Windows 95上一次进行感 - 甚至在Windows NT上。 不这样做。



文章来源: qt program deployed on mac. config file not writing when standalone app launched, works when run from within qt creator