在iTunes中有一个文件共享的功能,我们可以在文件共享中选择对应的APP并向其中导入文件,比如我们可以向暴风影音中导入自己在电脑上下载的电影,然后打开暴风影音的本地视频,即可看到自己导入的电影并观看。
要说明的是:上图中除了三部电影以外的文件均为APP存储在此处的文件,这些文件或为关键性数据,或为APP的数据库表,或为重要的plist文件等,总之这里存储的文件会通过Wi-Fi每天自动备份(大文件会延长备份时间,并且小号用户的可用iCloud空间)。
iTunes的共享功能实现了电脑与手机APP之间文件传输功能,在开发APP的过程中究竟该怎么实现改功能呢,下面来说一下具体的实现。
在这个功能的实现中,用于传输的文件最终的存储位置为APP沙盒中的documents文件夹下,所以,知道了文件存储的位置,就能够获取到通过iTunes传输的文件了。
实现过程:
1. 在应用程序的Info.plist文件中添加UIFileSharingEnabled键,并将键值设置为YES。
这时候在真机上运行并查看iTunes就可以发现,新的APP就可以实现文件共享了。
2. 利用UITableView
来显示共享传输的文件
// 获取沙盒中所有文件
NSFileManager *fileManager = [NSFileManager defaultManager];
// 在这里获取应用程序Documents文件夹里的文件及文件夹列表
NSArray *documentPaths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentDir = [documentPaths objectAtIndex:0];
NSError *error = nil;
NSArray *fileList = [[NSArray alloc] init];
// fileList便是包含有该文件夹下所有文件的文件名及文件夹名的数组
fileList = [fileManager contentsOfDirectoryAtPath:documentDir error:&error];
self.dirArray = [[NSMutableArray alloc] init];
for (NSString *fileName in fileList) {
[self.dirArray addObject:fileName];
}
[self.tableV reloadData];
这样就可以展示沙盒中documents文件夹下的所有文件了,之后就根据具体的需求来判定问价类型并加以展示就OK了。