2012-12-22 16 views

Odpowiedz

19

(skomponowałem tę odpowiedź po 2 minuty googlowania ... To tylko kwestia prawidłowego słowa kluczowego!)

Jest to możliwe przy użyciu nieudokumentowanego interfejsu API ze sklepu iTunes Store. To może się zmienić w przyszłości, ale nie wydaje się, że zmienił się w niedalekiej przeszłości, więc tutaj jesteś ...

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]; 

pamiętać, że ten wykonuje dwa synchroniczne okrągłej wyjazdy za pomocą NSURL API, więc lepiej zapakuj to w wątek backgorund, aby uzyskać maksymalny komfort użytkowania. Nakarm ten program ciągiem znaków (idString w powyższym kodzie), a na końcu artworkImage będzie zawierał obiekt UII z żądanym obrazem.

+0

H2CO3 'numericIDStr' jest identyfikatorem tj.' 389801252', a nie 'id389801252'. –

+0

@InderKumarRathore Nie widzę twojego problemu. Ten kod ** działa ** (testowany). –

+0

Niestety brakowało tej linii 'NSString * numericIDStr = [idString substringFromIndex: 2]; // @ "389801252" ' –

Powiązane problemy