Я занимаюсь разработкой RSS Reader, и мне нужно получить значок для каждого канала.Например, если мой канал google.com, я хотел бы получить значок «G» и поместить его в UIImage или что-то в этом роде.Есть идеи, как этого добиться?
Самый простой способ - использовать Google:
NSString *myURLString = @"http://www.google.com/s2/favicons?domain=www.stackoverflow.com"; NSURL *myURL=[NSURL URLWithString: myURLString]; NSData *myData=[NSData dataWithContentsOfURL:myURL]; UIImage *myImage=[[UIImage alloc] initWithData:myData];
Это должно сработать.
Вам просто нужно заменить домен, где вы хотите запросить свой значок.
Если вы хотите значок, попробуйте позвонить по этому URL: http://www.google.com/s2/favicons?domain=<rss_domain> из вашего приложения:
http://www.google.com/s2/favicons?domain=<rss_domain>
[NSURLConnection connectionWithRequest: [NSURLRequest requestWithURL: [NSURL URLWithString:@"http://www.google.com/s2/favicons?domain=google.com"]] delegate:self];
В противном случае в метаданных канала RSS есть необязательный элемент <image>, который описан здесь: http://www.rssboard.org/rss-specification#ltimagegtSubelementOfLtchannelgt
<image>
Например:
<channel> <language>en-us</language> <title>Scientific American - News</title> <image> <title>Scientific American</title> <link>http://www.scientificamerican.com</link> <width>144</width> <url> http://www.scientificamerican.com/media/logo/SAlogo_144px.gif </url> <height>45</height> </image> ...
Это изображение обычно будет больше, чем значок сайта, и, вероятно, не квадратное, но с некоторыми умными кадрированием и масштабированием оно может работать как значок, если значок канала не доступен.
Если вы сохраните изображение на рабочем столе,
1) перетащить изображение в xcode 2) Перейти к конструктору интерфейса 3) Перейти к инспектору личности после выбора UIImage 4) В раскрывающемся списке image выберите имя своего изображения.
image
Надеюсь, это поможет!