iPhone应用程序:如何从应用程序ID获取应用程序图标?

zon*_*ono 13 iphone itunes ios

我正在寻找一种从应用程序ID获取应用程序图标的方法.你知道怎么做吗?请分享方式.谢谢.

例如Instagram,我正在寻找的id是:id389801252

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

我想得到这个图片:

在此输入图像描述

小智 21

(我在谷歌搜索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];
Run Code Online (Sandbox Code Playgroud)

请注意,这会使用NSURLAPI 执行两次同步往返,因此您最好将其包装在backgorund线程中以获得最佳用户体验.为此程序提供一个ID字符串(idString在上面的代码中),最后,artworkImage将包含一个带有所需图像的UIImage.