アプリIDからアプリアイコンを取得する方法を探しています。あなたはそれを行う方法を知っていますか?方法を共有してください。ありがとう。
例えば Instagram の場合、探している ID は次のとおりです: id389801252
https://itunes.apple.com/jp/app/instagram/id389801252?mt=8
この画像を取得したい:
アプリIDからアプリアイコンを取得する方法を探しています。あなたはそれを行う方法を知っていますか?方法を共有してください。ありがとう。
例えば Instagram の場合、探している ID は次のとおりです: id389801252
https://itunes.apple.com/jp/app/instagram/id389801252?mt=8
この画像を取得したい:
(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 が含まれます。