最近接触了Qt mac程序的开发,使用qDebug重定向到文件的方法记录log信息,文件路径也是使用了app所在路径
QCoreApplication::applicationDirPath() + "/log"
生成的log文件在应用程序包中,鼠标右键点击应用程序,弹出菜单,选择“显示包内容”项,打开应用程序包目录,具体如下图:
调试的时候生成log正常,可是打包成pkg文件并安装后就无法生成log文件了。
首先,我查看了应用程序的权限,以及用户权限,并将应用程序的权限改为777。无法生成log,失败!
然后,我查看程序包中log文件夹的权限,发现是755,于是修改为777,报错,“Operation not permitted”,可是我又不知道超级用户的密码,这条路不通。
最后,我考虑在打包的时候就将log目录的权限修改为777。我们使用的Iceberg打包工具,在“Files”页对目录可以修改权限,右键点击log文件夹,弹出菜单中选择“Show Info”,打开权限修改弹窗。勾选Group的write权限。
重新打包安装,运行应用程序,log文件生成。