TSLibraryImport /

Filename Size Date modified Message
23 B
initialize repository
19.7 KB
Initial import from filesystem — got iPod library export working!
1.2 KB
Updated README
679 B
* Added unit test target/code.
3.7 KB
Cleaned up code
909 B
Initial import from filesystem — got iPod library export working!
22.8 KB
* Cleaned up for public consumption.
203 B
Initial import from filesystem — got iPod library export working!
1.4 KB
* Added dealloc to TSLibraryImport (possible leak of movieFileErr and export ivars)


In iOS4, you're able to access to the raw audio data of files stored in the user's iPod Library, but the method isn't straightforward: You must first make a local copy of the file. And that isn't straightforward, either. To get a local copy you must use AVAssetExportSession with the passthrough preset, write the file to a QuickTime .mov file and then extract the audio data out of the .mov file to whatever container is appropriate. (Any other method involves an extremely lengthy transcode step.)

The TSLibraryImport class hides this complexity behind a simple interface.


Add TSLibraryImport.h and TSLibraryImport.m to your project. Make sure you also add AVFoundation.framework to your project.

To import a file:

MPMediaItem* item; //obtained using MediaPlayer.framework APIs
NSURL* assetURL = [item valueForProperty:MPMediaItemPropertyAssetURL];
NSURL* destinationURL ...; //file URL for the location you'd like to import the asset to.
TSLibraryImport* import = [[TSLibraryImport alloc] init];
[import importAsset:assetURL toURL:outURL completionBlock:^(TSLibraryImport* import) {
    //check the status and error properties of