zoukankan      html  css  js  c++  java
  • iOS App与iTunes文件传输的方法和对iOS App文件结构的说明

    转:http://www.xiaoyaoli.com/?p=368

    就像很多iOS上面的播放器App一样,本文编写一个程序可以通过iTunes往里面放文件,比如编写一个音乐播放器程序,通过itune往里面放歌曲文件,然后通过这个App来播放这首歌曲,首先我创建了一个普通的SingleView程序,叫做FileShareDemo。下面是通过iTunes往App传输文件的截图:

    可以看到像GPlayer,AcePlayer播放器,视频资源通过这种方式传输是很普遍的(很多苹果用户确实不知道这样可以传输数据),这里我创建了一个App叫做FileShareDemo,可以看到,也可以往里面拖拽数据,这里拖拽了一首歌2.mp3,但是默认情况下创建的App是不可以出现在左边栏的,需要按下图在plist里面加一行:

    接下来的工作是判断有没有导入进去,下面的代码我写在了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直接在这里可以用。

    下面再次补充一下文件的结构问题:

    每个程序都会包含这几个文件,Documents就是iTunes导入的文稿存储的地方,FileShareDemo是Xcode项目包,如果通过Xcode往项目里放素材什么的都在这里,后两个不知道有什么具体作用。

  • 相关阅读:
    django with mysql (part-4)
    django with mysql (part-3)
    django with mysql (part-2)
    [LeetCode] 22. 括号生成(回溯/DP)
    [算法]求满足要求的进制(辗转相除(欧几里得算法),求最大公约数gcd)
    [算法]体积不小于V的情况下的最小价值(0-1背包)
    [LeetCode]96. 不同的二叉搜索树(DP,卡特兰数)
    [LeetCode]98. 验证二叉搜索树
    [LeetCode]21. 合并两个有序链表(递归)
    [LeetCode]538. 把二叉搜索树转换为累加树
  • 原文地址:https://www.cnblogs.com/ygm900/p/3810393.html
Copyright © 2011-2022 走看看