2015-10-05 30 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