UIFileSharingEnabled 但 iTunes 中的文档列表为空

Posted

技术标签:

【中文标题】UIFileSharingEnabled 但 iTunes 中的文档列表为空【英文标题】:UIFileSharingEnabled but Documents list empty in iTunes 【发布时间】:2014-04-15 16:16:38 【问题描述】:

我正在尝试为我的应用启用文件共享。基本上,我需要使用该应用程序将一些内容写入 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】:

你应该替换这段代码:

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);

【讨论】:

以上是关于UIFileSharingEnabled 但 iTunes 中的文档列表为空的主要内容,如果未能解决你的问题,请参考以下文章

iTunes 的 iOS 文件共享替代方案 (UIFileSharingEnabled)

UIFileSharingEnabled 仅在调试变体上

Delphi iOS 开启文件共享 UIFileSharingEnabled

UIFileSharingEnabled 在我的适用于 ios 的科尔多瓦应用程序中无效

iTunes文件共享

文件共享