11
我正在寻找一种方法从应用程序ID获取应用程序图标。你知道该怎么做吗?请分享道路。谢谢。iPhone应用程序:如何从应用程序ID获取应用程序图标?
如 Instagram的,在这里我找的ID是:id389801252
https://itunes.apple.com/jp/app/instagram/id389801252?mt=8
我想这个形象:
我正在寻找一种方法从应用程序ID获取应用程序图标。你知道该怎么做吗?请分享道路。谢谢。iPhone应用程序:如何从应用程序ID获取应用程序图标?
如 Instagram的,在这里我找的ID是:id389801252
https://itunes.apple.com/jp/app/instagram/id389801252?mt=8
我想这个形象:
(我由这个答案后, 2分钟的谷歌搜索...这只是正确的关键字的问题!)
这可以通过使用未公开的documented 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];
注意这执行使用NSURL
API两个同步往返,所以您最好将其包装在backgorund线程中以获得最大的用户体验。为此程序提供一个ID字符串(上面的代码中的idString
),最后,artworkImage
将包含具有所需图像的UIImage。
H2CO3'numericIDStr'是id即'389801252'而不是'id389801252'。 –
@InderKumarRathore我没有看到你的问题是什么。此代码** ** **(测试)。 – 2012-12-22 16:05:35
对不起,错过了这行'NSString * numericIDStr = [idString substringFromIndex:2]; // @“389801252” ' –