C++ MAC OS X 无法写入 ~/库/应用程序支持/<appname>
C++ MAC OS X cannot write to ~/Library/Application Support/<appname>
如果我在.app
包中保存文件,它保存OK,但苹果建议在应用程序支持中保存文件在
~/Library/Application Support/appname
或
~/Library/Application Support/bundleid
我两个都试过了,但总是得到一个异常。我得到一个路径到应用程序支持,这是
/Users/myname/Library/Application Support/com.company.appname/
或
/Users/myname/Library/Application Support/AppName/
com.company.appname
在我的info.plist
中被正确指定,并且AppName
是product AppName.app
,因此路径似乎是正确的。
{
FilepathProcessor::pathForFile(fpath, "menustate", ".sav",
PATH_TO_DESTINATION_SAVE_LOAD_FOLDER);
std::ofstream file;
file.exceptions(std::ofstream::eofbit | std::ofstream::failbit |
std::ofstream::badbit);
INFO_ARG("prepare to save to '%s'", fpath.c_str());
try {
file.open(fpath.c_str(), std::ios::out | std::ios::binary |
std::ios::trunc);
ERROR_IF_ARG(!file.is_open(), "couldnt open file for saving at '%s'",
fpath.c_str(), return);
//will pass this point
//exception happens by first write
WRITE_INT_TO_BINFILE(file, episode);
//...
}
catch (std::ofstream::failure e) {
ERROR_IF_ARG(true, "exception %s", e.what(), return);
}
file.close();
}
输出:INFO : prepare to save to '/Users/myname/Library/Application
Support/com.comapny.appname/menustate.sav' [CALLED BY : saveToFile]
ERROR!
Text : exception basic_ios::clear
目录是而不是自动创建的。在保存文件之前,首先需要检查该目录是否存在,如果不存在,则需要创建该目录。
相关文章:
- 确定C++应用程序是否作为具有旧版支持的 UWP 应用运行
- GCP 或 AWS 是否支持 C++ 和 GUI 应用程序开发?
- 如何在支持PSql的情况下将Qt C++应用程序部署到Android
- 是否有支持C++和C#混合应用程序的崩溃报告服务
- 可以视觉C 2017可重新分布软件包支持使用VC2015的应用程序
- 在笔记本电脑上开发不支持 GPU 的 OpenCL 应用程序
- AIDE仅支持原生安卓应用程序
- 在64位Windows7机器上编译时,C中的Flex会产生不支持的16位应用程序
- 可以使用缓存使QML应用程序“离线支持”
- 如何将我在VC++9中开发的带有CLR支持静态库的C++/CLI(托管)链接到我在VC++6.0中的本机代码(应用程序)
- 如何在C++应用程序中支持输出分页
- 在MBCS应用程序中支持通用控件6
- 需要解决哪个类以支持Qt应用程序和查找器之间的拖放
- 设计应用程序以支持配置更改,而无需重新启动
- 安卓sdk组件:在新的sdk组件(应用程序)中添加对gnustl_static的支持
- 安卓Java应用程序,仅支持C++头库
- 使用公共语言运行时支持(/clr)调用mfc dll时,未能运行mfc应用程序
- 如何在现有的Windows应用程序中获得ATL支持
- 如何在MFC中支持多种文档类型,如MS office应用程序或Visual studio
- C++ MAC OS X 无法写入 ~/库/应用程序支持/<appname>