(tôi sáng tác câu trả lời này sau 2 phút googling ... Đó chỉ là vấn đề của từ khóa chính xác!)
Điều này là có thể bằng cách sử dụng không được cấp phépdocumented API của iTunes Store. Nó có thể thay đổi trong tương lai, nhưng nó không có vẻ như đã thay đổi trong quá khứ gần, vì vậy ở đây bạn là ...
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];
Lưu ý rằng điều này thực hiện hai đồng bộ vòng quanh chuyến đi bằng cách sử dụng NSURL
API, vì vậy bạn tốt hơn bọc này trong một thread backgorund cho kinh nghiệm người dùng tối đa. Nạp chương trình này một chuỗi ID (idString
vào mã ở trên) và cuối cùng, artworkImage
sẽ chứa một UIImage với hình ảnh mong muốn.
Nguồn
2012-12-22 15:56:19
H2CO3 'numericIDStr' là id tức là '389801252' không phải là' id389801252'. –
@InderKumarRathore Tôi không thấy vấn đề của bạn là gì. Mã này ** hoạt động ** (đã kiểm tra). –
xin lỗi đã bỏ lỡ dòng này 'NSString * numericIDStr = [idString substringFromIndex: 2]; // @ "389801252" ' –