2015-10-05 28 views
2

我正在通过QtCreator部署iPhone应用程序。我想用标准的C++库创建一个简单的文件。我尝试在沙盒“文档”文件夹中执行此操作。访问iPhone的沙箱来自标准C++代码的文档文件夹

我编译了boost,所以我用这个库来检查沙箱的Document文件夹是否存在。

我的申请开始于/private/var/mobile/Containers/Bundle/Application/<UUID>/<application name>.app。然后,我只是尝试访问/private/var/mobile/Containers/Bundle/Application/<UUID>/<application name>.app/../Documents文件夹(使用boost::filesystem::is_directorty),因为它不存在,我尝试创建它(使用boost::filesystem::create_directories),但它失败(提升引发异常)。

我做错了吗?我不是在正确的PATH?或者,我必须为我的应用程序设置任何特殊权限才能执行此操作(对于Android,我将其添加到我的应用程序清单中的EXTERNAL_STORAGE列表中)。

回答

2

我的文档路径是错误的。

QStandardPaths::writableLocation(QStandardPaths::DocumentsLocation); 

这将返回:可以用Qt API找到好的

/var/mobile/Containers/Data/Application/<another UUID>/Documents 

(不同于我试图访问/private/var/mobile/Containers/Bundle/Application