2012-12-22 13 views

答えて

19

(私は後にこの答えを作曲グーグルで2分...正しいキーワードの問題です)

これは、の文書化されていないdocumented iTunes StoreのAPIを使用して行うことができます。そう、これはNSURL APIを使用して2つの同期ラウンドトリップを実行する...ので、ここであなたは、

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

注これは、将来的に変更される可能性がありますが、近い過去に変更されているようには見えません最大限のユーザーエクスペリエンスを得るためには、バックゴールススレッドでこれを包む方がよいでしょう。このプログラムにID文字列(上記のコードでidString)を入力し、最後にartworkImageには希望の画像を含むUIImageが含まれます。

+0

H2CO3 'numericIDStr'はIDです。すなわち' 389801252'は 'id389801252'ではありません。 –

+0

@InderKumarRathore私はあなたの問題が表示されません。このコード**は**動作します(テスト済み)。 –

+0

この行を見逃してしまった 'NSString * numericIDStr = [idString substringFromIndex:2]; // @ "389801252" –

関連する問題