2012-02-02 13 views
6

私はRSSリーダーを開発しており、フィードごとにfaviconを取得する必要があります。たとえば、フィードがgoogle.comの場合、「G」アイコンを取得してUIImageなどに挿入したいと考えています。どのようにこれを達成するための任意のアイデア?UIImage:ウェブサイトタブの取得方法

答えて

19

グーグルを使用することです行くための最も簡単な方法:

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]; 

動作するはずです。

アイコンを照会するドメインを置き換えてください。

+0

これはうまくいきました。とにかく、私は今日それを試して、次のようなエラーを返しました: エラードメイン= NSCocoaErrorDomainコード= 256 "ファイル" favicon "を開くことができませんでした。 UserInfo = 0x10a1e4150 {NSURL = https://plus.google.com/_/favicon?domain = www.microsoft.com} – MrAsterisco

+0

dataWithContentsOfURLは、Appleによって推奨されていません。これは同期プロセスであり、低速インターネットの実行をブロックします。 – Kaunteya

+0

あなたはどのように私もタイトルを取得することができます私に教えてくれる? –

3

あなたがファビコンをしたい場合は、このURLを呼び出してみてください:あなたのアプリの中から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

たとえば

<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> 
     ... 

この画像は通常、サイトのファビコンよりも大きいこと、などが挙げられるだろう正方形ではありませんが、巧妙なトリミングとスケーリングでは、フィードのファビコンが利用できない場合、アイコンとして機能します。

-7

あなたのデスクトップに画像を保存する場合は、Xcodeの 2に

1)ドラッグ画像)ダウンimageドロップの下UIImage 4)を選択した後、アイデンティティインスペクタに移動します)ビルダー 3をインターフェースにアクセスボックスで、イメージの名前を選択します。

希望に役立ちます!

関連する問題