Mac应用程序的文件保存位置

File saving location for Mac applications

本文关键字:保存 位置 文件 应用程序 Mac      更新时间:2023-10-16

我要把我的iOS项目移植到Mac上

我保存了几个文件,在iOS上,我把它保存在。app下的Documents/,然而,由MAC OSX文件没有被创建

/Users/SMTH/Desktop/Development/SIO2 2/SIO2_SDK/tutorials/MyMacApp/macos/build/Debug/00_template.app/Contents/MacOS/../Documents/menustate.sav
使用

std::ofstream file;
file.open(fpath.c_str(), std::ios::out | std::ios::binary);
我在做某事吗?错了。或者我不可能在Mac OSX应用程序中像iOS应用程序一样保存(在Mac上保存在哪里?)

编辑:我也尝试了其他位置,如file.open("~/Documents/menustate.sav", std::ios::out | std::ios::binary);,但仍然没有创建文件

唯一可保存的路径是"。/" -> "./menu。Sav",这将它保存到somepath/00_template。app/Contents/Resources',但为什么它可以保存到资源,而不是其他地方?

谢谢

基本上你不应该像在OSX中一样,应用程序可以被多个用户使用,所以应用程序通常只被安装程序存储为可写的,而不是普通用户。

open调用我假设是对unix open函数的调用-如果是这样,请查看file的返回值。打开并查看它是否为-1。如果是这样,那么查看全局变量errno,看看它失败的原因。一个像样的c++类会把它包装起来,在open.

抛出的异常中给你错误。

对于MacOSX,请参考苹果的应用程序文件。