I'm developing an RSS Reader and I need to get the favicon for each feed. For example, if my feed is google.com, I'd like to get the "G" icon and put it into a UIImage or something. Any ideas on how to achieve this?
The easiest way to go would be to use 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];
That should work.
You would just have to replace the domain where you want to query your icon.
If you want the favicon, try calling this URL: http://www.google.com/s2/favicons?domain=<rss_domain>
from within your app:
[NSURLConnection connectionWithRequest:
[NSURLRequest requestWithURL:
[NSURL URLWithString:@"http://www.google.com/s2/favicons?domain=google.com"]]
delegate:self];
Otherwise, an RSS channel's metadata has an optional element, <image>
, which is described here: http://www.rssboard.org/rss-specification#ltimagegtSubelementOfLtchannelgt
For example:
<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>
...
This image will typically be larger than a site's favicon, and likely not-square, but with some clever cropping and scaling, it can work as an icon if a feed's favicon isn't available.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With