NSURL *assetURL = [mediaItem valueForProperty:MPMediaItemPropertyAssetURL];
NSNumber *percent = nil;
NSError *error = nil;
[assetURL getResourceValue:&percent forKey:NSURLUbiquitousItemPercentDownloadedKey error:&error];
return [percent unsignedIntValue];
このコードブロックでは、getResouceValue:forKey:error:を呼び出した後、「percent」と「error」の両方がnilになります。
ここで何かが足りませんか?