我正在尝试为我的应用启用文件共享。基本上,我需要使用应用程序将内容写入csv文件,然后通过iTunes将csv文件从iPad传输到我的macbook。
到目前为止,我已将UIFileSharingEnabled添加到我的plist并将其设置为YES。
我还在我的应用中添加了以下代码:
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsPath = [paths objectAtIndex:0];
NSString *dName = [NSString stringWithFormat:@"%@.csv",fileName];
NSString *docName = [documentsPath stringByAppendingPathComponent:dName];
if (![[NSFileManager defaultManager] fileExistsAtPath:documentsPath]){
[[NSFileManager defaultManager] createFileAtPath:docName contents:nil attributes:nil];
}
NSFileHandle *fileHandle = [NSFileHandle fileHandleForUpdatingAtPath:docName];
[fileHandle seekToEndOfFile];
[fileHandle writeData:[content dataUsingEncoding:NSUTF8StringEncoding]];
[fileHandle closeFile];
NSLog(@"file saved");
NSLog(@"%@",docName);
现在,有趣的是,在NSlog中,确认文件已被创建并保存。
MyApp[3674:60b] file saved
MyApp[3674:60b] /var/mobile/Applications/9532F76D-C5D2-4B46-A7BA-7AA24009553B/Documents/TEST.csv
在iTunes中,MyApp列在FileSharing App列表中。但是,右边的文件清单完全是空的。无论如何。
请告诉我我哪里做错了。非常感谢。
答案 0 :(得分:0)
您应该替换此代码:
if (![[NSFileManager defaultManager] fileExistsAtPath:documentsPath]){
[[NSFileManager defaultManager] createFileAtPath:docName contents:nil attributes:nil];
}
使用:
if (![[NSFileManager defaultManager] fileExistsAtPath:docName]){
BOOL success = [[NSFileManager defaultManager] createFileAtPath:docName contents:nil attributes:nil];
NSLog(@"%d,",success);
}