14

アプリIDからアプリアイコンを取得する方法を探しています。あなたはそれを行う方法を知っていますか?方法を共有してください。ありがとう。

例えば ​​Instagram の場合、探している ID は次のとおりです: id389801252

https://itunes.apple.com/jp/app/instagram/id389801252?mt=8

この画像を取得したい:

ここに画像の説明を入力

4

3 に答える 3

24

(2分間のグーグル検索の後にこの回答を作成しました...それは正しいキーワードの問題です!)

これは、iTunes Store の文書化されていない文書化された API を使用して可能です。 将来変わるかもしれませんが、近い過去には変わっていないようですので、ここで...

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

これは API を使用して 2 つの同期ラウンドトリップを実行することに注意してくださいNSURL。ユーザー エクスペリエンスを最大化するには、これをバックゴーランド スレッドでラップすることをお勧めします。このプログラムに ID 文字列 (idString上記のコード内) を入力すると、最終的にartworkImage目的の画像を含む UIImage が含まれます。

于 2012-12-22T15:56:19.247 に答える