大家好,我正在使用QFile创建并填充一个要读取的文件,以获取功能。
这是我的file.cpp的示例:
// host should be /Users/myUser/Desktop/myapp-gui/debug/bin/myapp-gui.app/Contents/MacOS
const QString sibling_file_path = host + "/../../../";
QFile::remove(sibling_file_path + "provider.http");
QFile fileProvider(sibling_file_path + "provider.http");
// file created - /Users/myUsser/Desktop/myapp-gui/debug/bin/provider.http
//write provider.http
if(fileProvider.open(QIODevice::ReadOnly | QIODevice::WriteOnly | QIODevice::Text)){
QTextStream txtStream(&fileProvider);
txtStream << "HTTP/1.0 200 PROVIDER\n";
txtStream << "Access-Control-Allow-Origin: *\n";
txtStream << "Access-Control-Allow-Methods: GET\n";
txtStream << "Cache-Control: no-cache\n";
txtStream << "Content-Type: text/html\n\n";
txtStream << "{\"provider\":\""+serviceName+"\",\"service\":\""+plan+"\"}";
txtStream.seek(0);
fileProvider.close();
}
直到现在一切正常,如果运行QT构建,我可以在文件夹中看到我的文件。
但是,如果我从我的代码“ aplication.app”创建了Apple应用程序,并尝试通过应用程序运行(双击),则我的函数不会创建该文件。
如果我打开我的应用程序内容:〜/ aplication.app / Contents / MacOS / myapp-gui并调用该函数来创建我的提供程序即可!
它看起来像权限问题:(
在Linux和Windows中相同的代码可以工作
已修复<<问题是调用文件的路径错误