UIFileSharingEnabled但文档列表在iTunes中为空

时间:2014-04-15 16:16:38

标签: ios objective-c ipad

我正在尝试为我的应用启用文件共享。基本上,我需要使用应用程序将内容写入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列表中。但是,右边的文件清单完全是空的。无论如何。

请告诉我我哪里做错了。非常感谢。

1 个答案:

答案 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);
}