I have an app that uses the iPod Library API to access the song database in iOS. With the release of iTunes Match, any song which is not on the device will fail to load. I
MPMediaItem | iCloud or DRM Protected
The link above shows how you can use a property introduced in iOS 6 to see if an MPMediaItem is in the cloud.
MPMediaItemPropertyIsCloudItem
BOOL isCloud = FALSE;
if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"6.0")) {
NSNumber *isCloudNumber = [mediaItem valueForProperty:MPMediaItemPropertyIsCloudItem];
isCloud = [isCloudNumber boolValue];
}
if (isCloud) {
DebugLog(@"Cloud Asset URL: %@", assetURL);
}
That is using a macro to ensure only iOS 6 uses that code which was added with iOS 6. Below is that macro.
#define SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(v) ([[[UIDevice currentDevice] systemVersion] compare:v options:NSNumericSearch] != NSOrderedAscending)
Still you cannot initiate a download as far as I can tell.