我正在使用Xcode 4.6开发一款iPad应用程序。为了收集有关应用程序的一些关键信息,在调试过程中(对于真正的ios设备),我将一些数据放在一个文本文件中,并且可以使用以下代码演示一个示例:
std::ofstream f;
f.open("test.txt",std::ios::out ) ;
for (int i=0;i<100;i++)
{
f << i << std::endl;
}
f.close() ;
运行应用程序后,我想检查test.txt
中的数据,但是,我不知道如何找到它。 This post似乎很有用,但我无法按照他的指示找到Application Data
。
答案 0 :(得分:1)
Application Documents文件夹可通过iTunes访问。但为此,您必须为应用程序启用文件共享。以下是启用文件共享https://developer.apple.com/library/ios/documentation/Miscellaneous/Conceptual/iPhoneOSTechOverview/CoreServicesLayer/CoreServicesLayer.html#//apple_ref/doc/uid/TP40007898-CH10-SW30
的链接但最好使用NSLogs或任何其他自定义Logger。
答案 1 :(得分:1)
您需要设置输出文件的完整路径,因为默认情况下当前工作目录将是您无法写入的应用程序包目录(您没有指定完整路径在你的文件打开语句中,所以它将使用 cwd )。
因此,如果您希望它出现在应用程序的文档目录中,您需要使用Objective-C(或Objective-C ++)获取它并将该路径传递给您发布的C ++方法。
我建议使用Objective-C ++来混合编程语言(将文件扩展名更改为.mm
):
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
std::string docDir = [paths[0] UTF8String];
std::ofstream f;
f.open(docDir + "/test.txt", std::ios::out);
for (int i=0;i<100;i++)
{
f << i << std::endl;
}
f.close();