iOS App與iTunes檔案傳輸的方法和對iOS App檔案結構的說明

來源:互聯網
上載者:User

標籤:class   blog   code   http   ext   com   

轉: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]) {

[email protected]”have file”;

}else {

[email protected]”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往項目裡放素材什麼的都在這裡,後兩個不知道有什麼具體作用。

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.