2012-12-22 8 views

Antwort

19

(Ich komponierte diese Antwort nach 2 Minuten googeln ... Es ist nur die Frage des richtigen Schlüsselwortes!)

Dies ist möglich mit einer undokumentiertendocumented API des iTunes Store. Es könnte sich in Zukunft ändern, aber es scheint nicht in der nahen Vergangenheit geändert zu haben, so sind Sie hier ...

NSString *idString = @"id389801252"; 

NSString *numericIDStr = [idString substringFromIndex:2]; // @"389801252" 
NSString *urlStr = [NSString stringWithFormat:@"http://itunes.apple.com/lookup?id=%@", numericIDStr]; 
NSURL *url = [NSURL URLWithString:urlStr]; 
NSData *json = [NSData dataWithContentsOfURL:url]; 

NSDictionary *dict = [NSJSONSerialization JSONObjectWithData:json options:0 error:NULL]; 
NSArray *results = [dict objectForKey:@"results"]; 
NSDictionary *result = [results objectAtIndex:0]; 
NSString *imageUrlStr = [result objectForKey:@"artworkUrl100"]; // or 512, or 60 

NSURL *artworkURL = [NSURL URLWithString:imageUrlStr]; 
NSData *imageData = [NSData dataWithContentsOfURL:artworkURL]; 
UIImage *artworkImage = [UIImage imageWithData:imageData]; 

Beachten Sie, dass dies die NSURL API, zwei synchrone Rundfahrten durchführt, so Sie wickeln das besser in einen Backgorund-Thread für maximale Benutzererfahrung ein. Geben Sie diesem Programm eine ID-Zeichenfolge (idString im obigen Code) und am Ende enthält artworkImage ein UIImage mit dem gewünschten Bild.

+0

H2CO3 'numericIDStr' ist die ID, d.h.' 389801252' nicht 'id389801252'. –

+0

@InderKumarRathore Ich sehe nicht, was Ihr Problem ist. Dieser Code ** funktioniert ** (getestet). –

+0

Tut mir leid, verpasste diese Zeile 'NSString * numericIDStr = [idString substringFromIndex: 2]; // @ "389801252" ' –