sqliteiOS UIFileSharingEnabled

同等、让iOS App通过iTunes进行文件交换Documents

吃iOS App通过iTunes进行文件交换

出有App需要经过动用iTunes让用户上传和下载文档。要于iOS程序支持iTunes文件交换其实深粗略,

惟有待在程序的Info.plist里搭一个键:UIFileSharingEnabledApplication
supports iTunes file sharing),赋值YES

sqlite 1

诸如此类,编译之后进行机上运行的时节,连接装置到iTunes,就能开展文件交换了。

sqlite 2

倘是以iOS
Simulator中开展测试,可以把文件放到应用程序的“用户目录”的“
Documents”下。要掌握用户目录在OSX下的路线,

可以NSLog(@”%@”, NSHomeDirectory());运行一下即便理解了,

用户家目录在OSX下的路径类似之:

/Users/venj/Library/Application Support/iPhone
Simulator/4.3.2/Applications/158C149B-FF57-4C62-AEDB-DFB7A3BD8AFB

本身开了一个简练的顺序开展测试,在Simulator中运行的时候,把公文放到用户目录下,下图是用户目录在OSX下的情,

拿公文放到Documents生就是得了:

sqlite 3

下一场在程序中测试文件来没有发生成功为先后识别:

   

NSFileManager *manager = [NSFileManager defaultManager];   
NSString *dbPath = [[NSHomeDirectory()
stringByAppendingPathComponent:@”Documents”]
stringByAppendingPathComponent:@”db.sqlite”];

    if ([manager fileExistsAtPath:dbPath]) {       
self.navigationItem.title = @”Ready To Go”;    }    else {       
self.navigationItem.title = @”No DB File”;    }

下是次在长文件前后的周转状态:

sqlite 4

 

第二、App与iTunes文件传输的计与针对性iOS App文件结构的征

就比如许多iOS上面的播报器App一样,本文编写一个次可以经iTunes往里面放文件,比如编写一个音乐播放器程序,通过itune往里面放歌曲文件,然后经这个App来播放当下篇歌,首先自己创建了一个常备的SingleView程序,叫做FileShareDemo。下面是通过iTunes往App传输文件之截图:

sqlite 5

可以看出如GPlayer,AcePlayer播放器,视频资源通过这种措施传输是甚普遍的(很多苹果用户真正无晓得这么好传输数据),这里自己创建了一个App叫做FileShareDemo,可以视,也堪于中间拖拽数据,这里拖拽了同等首歌2.mp3,但是默认情况下创办的App是匪可以出现在左边栏的,需要遵循下图在plist里面加一行:

sqlite 6

联网下去的做事是判定出无发生导入进去,下面的代码我形容于了viewdidload里:

 NSFileManager *manager=[NSFileManager defaultManager];

NSString *path=[[NSHomeDirectory()
stringByAppendingPathComponent:@”Documents”]
stringByAppendingPathComponent:@”2.mp3″];

if ([manager fileExistsAtPath:path]) {

showLabel.text=@”have file”;

}else {

showLabel.text=@”have no file”;

}

NSLog(@”NSHomeDirectory %@”,NSHomeDirectory());

 这里发生几点而说明,首先NSHomeDirectory()打印出是

/var/mobile/Applications/8F01293C-C02D-4EF8-A9F7-1A7B10944F33

夫是程序的路线,8F01293C-C02D-4EF8-A9F7-1A7B10944F33凡每个App独特的记,比如愤怒之鸟类会是其他一样串信息,具体干嘛的非懂得。然后自己当后加加了/Documents和/2.mp3,通过[manager
fileExistsAtPath:path]来判定是途径存不存在,用一个label打印出。如果拖拽入了可看看label的内容是“have
file”,通过程序运行的label信息可以看/var/mobile/Applications/8F01293C-C02D-4EF8-A9F7-1A7B10944F33/Documents/2.mp3即是导入的文件之途径。

后来我们可由此这段代码来播放歌曲:

 NSError* err;

player = [[AVAudioPlayer alloc]

initWithContentsOfURL:[NSURL fileURLWithPath:path]

error:&err ];

player.volume=0.7;

[player play];

之前的path直接当这边可以为此。

脚还添一下文件之布局问题:

sqlite 7

每个程序都见面蕴藏这几乎单文件,Documents就是iTunes导入的草存储的地方,FileShareDemo是Xcode项目保,如果通过Xcode往项目里放素材什么的都当此地,后少独未清楚发生啊具体意向。

特意提醒:

如果app不干文档的上传和下载,Application supports iTunes file
sharing应安装为NO或删除此key,否则会为拒.

 

参照链接:

https://my.oschina.net/hmj/blog/112592

网站地图xml地图