有没有办法将我的.xml文件保存到“/ Users / student / Library / Application Support / iPhone / Simulator / User / Applications /...”
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"accUserNames.xml"];
BOOL ok = [content writeToFile:appFile atomically:YES encoding:NSUnicodeStringEncoding error:nil];
if (!ok) {
NSLog(@"Error writing file !");
}
我希望将toToFile:我的.xml文件写到桌面上,任何想法如何?
答案 0 :(得分:2)
以下代码可以帮助,
NSString *documentsDirectory = @"/Users/student/Desktop/";
NSString *appFile = [documentsDirectory stringByAppendingPathComponent:@"accUserNames.xml"];
BOOL ok = [content writeToFile:appFile atomically:YES encoding:NSUnicodeStringEncoding error:nil];
if (!ok) {
NSLog(@"Error writing file !");
}
答案 1 :(得分:1)
在iPhone模拟器中,您应该能够成功使用@"/Users/student/Desktop/accUserNames.xml"
作为写入路径。但是,您无法在iOS设备上执行此操作(您将被限制在应用程序的沙箱目录中 - 建议您写入Documents文件夹或其他文件夹,取决于您要存储的数据类型。
编辑:我想我理解你的问题。这部分代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
有效地找到" / Users / student / Library / Application Support / iPhone / Simulator / User / Applications /... 34的路径; (这是你要保存的正常场所)。但是,如果您只想暂时保存到桌面,则应使用appFile = @"/Users/student/Desktop/accUserNames.xml"
。
注意:我并不主张将其作为长期解决方案,但如果您只想暂时查看程序的输出,则可以正常使用。
答案 2 :(得分:0)
可能不是代码,但你可以试试这个:打开“Automator”(在Utilities文件夹中)并选择“Folder Action”。作为输入文件夹,您指定文档的目录(/ Users / student / Library / Application Support / iPhone / Simulator / User / Applications / ...),然后从“Files& Folders”,“Duplicate Finder”中选择项目“和”移动查找项目“并选择桌面。点击“保存”,为其命名,文档文件夹中的所有文件都应复制到桌面。
答案 3 :(得分:0)
如果要将文件上传到服务器(在您的示例中为“www.blahblah.com”),则使用写入文件方法不是正确的方法。这仅用于将数据写入本地文件系统(或网络共享,但不适用于iPhone)。
如果您想将数据传输到网络服务器,您需要在服务器上有一些可以监听连接请求的内容,然后它需要接受从您的应用程序传输的数据。您不能像在文件系统中那样将文件写入“www.blahblah.com”