IPhone App: как получить значок приложения из идентификатора приложения?

Я ищу способ получить значок приложения из идентификатора приложения. Ты знаешь как это сделать? Пожалуйста, поделитесь способом. Благодарю.

например, Instagram, где идентификатор, который я ищу, это: id389801252

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

Я хочу получить это изображение:

enter image description here

Ответ 1

(Я написал этот ответ после 2 минут поиска в Google... Это просто вопрос правильного ключевого слова!)

Это возможно, используя недокументированный документированный API магазина iTunes. Это может измениться в будущем, но в ближайшем прошлом оно, похоже, не изменилось, так что вот вы...

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

Обратите внимание, что это выполняет два синхронных round-trip с использованием API NSURL, поэтому вам лучше обернуть это в поток backgorund для максимального удобства пользователя. Подайте эту программу в строку ID (idString в коде выше), а в конце artworkImage будет содержать UIImage с желаемым изображением.