在MAC上打开iTunes,在应用程序一栏,默认界面为:
当连接iPad设备后,iTunes界面以下,在面板工具条的右侧会显示iPad当前已链接到Mac上
app
咱们看到出现了一个名为“文件共享”的分类。上面很清楚的标明了这个分类的做用是什么,左侧的列表是iPad设备上安装的全部应用程序,右侧列表则是支持iTunes文件共享的App的Documents目录。以苹果的Keynote为例,当咱们保存一个文档到iTunes时,Keynotye会讲文件写入到本身的Documents目录下,也就是咱们在面板上看到的右侧列表。咱们能够直接从MAC上拖文件到该右侧列表,或者从右侧列表选中文件直接拖到MAC上,这样便简单的完成了所谓的iTunes与App的文件共享。能够经过两个按钮完成一样的功能。如图:
咱们新建一个简单的DEMO工程来把整个流程走一遍,工程名为FileShareWithITunesDemo
在工程的Info.plist文件中添加支持iTunes文件共享的Key,并将值设为YES,
以后将DEMO工工程发布到iPad设备上,在iTunes的面板上咱们能够看到以下图:
如今左侧列表中有了咱们的工程对应的APP,接下来在mainStoryboard中添加简单的描述和两个按钮:
以后为两个按钮创建action的outline,代码以下 框架
// 对应第一个按钮 - (IBAction)logFilePathInDocumentsDir:(id)sender { NSString *docsDir = [NSHomeDirectory() stringByAppendingPathComponent: @"Documents"]; NSFileManager *fileManager = [NSFileManager defaultManager]; NSDirectoryEnumerator *dirEnum = [fileManager enumeratorAtPath:docsDir]; NSString *fileName; while (fileName = [dirEnum nextObject]) { NSLog(@"FielName : %@" , fileName); NSLog(@"FileFullPath : %@" , [docsDir stringByAppendingPathComponent:fileName]) ; } } // 对应第二个按钮 - (IBAction)createImageFieldToDocuments:(id)sender { NSFileManager *fileManager=[[NSFileManager alloc] init]; NSString *docsDir = [NSHomeDirectory() stringByAppendingPathComponent: @"Documents"]; NSString *imageFileName = [docsDir stringByAppendingPathComponent:@"myImage.png"] ; UIImage *image = [self generateImage]; [fileManager createFileAtPath:imageFileName contents:UIImagePNGRepresentation(image) attributes:nil] ; } // 建立一个简单的UIImage对象并做为图片文件内容 - (UIImage*)generateImage { UIGraphicsBeginImageContextWithOptions(CGSizeMake(320, 200), NO, 0.0) ; CGContextRef ctx = UIGraphicsGetCurrentContext() ; CGRect imageRect = CGRectMake(0.0, 0.0, 320, 200) ; [[UIColor redColor] setFill] ; CGContextFillRect(ctx, imageRect) ; UIImage *image = UIGraphicsGetImageFromCurrentImageContext() ; UIGraphicsEndImageContext() ; return image ; }
以后点击第一个按钮,输出Documents路径下的全部文件名到控制台 工具