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)
Delphi iOS 开启文件共享 UIFileSharingEnabled