由.app执行时,QFile不起作用-Macosx

时间:2019-01-11 18:18:42

标签: c++ macos qt

大家好,我正在使用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中相同的代码可以工作

已修复<<问题是调用文件的路径错误

0 个答案:

没有答案