2012-02-27 10 views
1

私は自分のuiwebviewを動作させ、指定したURLを表示しています。唯一の問題は、表示されるウェブページがモバイルウェブページではなく、通常のウェブページであることです。モバイルSafariの同じURLがウェブページのモバイル版を開きますが、私のアプリでは通常のバージョンが開きます。誰もがこの理由を知っていますか?UIWebViewはモバイルWebページを表示していませんが、通常のWebページ

NSURL *url = [NSURL URLWithString:website]; 
    [webview loadRequest: [NSURLRequest requestWithURL:url]]; 

答えて

4

UIWebViewは、このようにWebサーバがサービスを提供するページを知らないのSafari、同じブラウザヘッダを送信しません:ここでは任意の助け

のthats私のコードの抜粋である場合、私は、ストーリーボードを使用していますあなたはアプリです。

カスタムヘッダーを追加して問題を解決できます。

NSURL *url = [NSURL URLWithString:website]; 
NSMutableURLRequest *request = [NSMutableURLRequest requestWithURL:url]; 
[request setValue:@"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+ (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3" forHTTPHeaderField:@"User-Agent"]; 
[webview loadRequest: request]; 
+0

ご返信ありがとうございます。私はあなたが提案したことを試したが、うまくいかなかった。それは非常に奇妙です。多分それはストーリーボードと関係がありますか? –

+0

Webサーバーにサイトのモバイル版を提供する必要があることを伝えるには、別のヘッダーが必要な場合があります。サーバーがどのようにモバイルサイトであるかを確認する方法をウェブサイトビルダーに尋ねることができます。 – rckoenes

+0

ありがとう、結局はうまくいった。それは特定のものだけではない他のすべてのサイトで正常に動作します。それは携帯サファリでうまく動作するので奇妙です –

-1

彼らはモバイルを表示することを決定する際のUIWebViewエージェントをチェックしていないようですので、あなたは、この特定のサイトの中に追加することができURLパラメータがある場合は、見ることができました。

E.G.たぶんwww.theirsite.comに行くだろうか?モバイル=トルーはそれを達成するだろう。

+1

これは一般的な標準ではありません。特定のサイトがそのサイトのモバイル版を表示するためにそのメカニズムを使用していることを知っていた場合にのみ機能します。ほとんどのサイトでヘッダ情報が使用されていることは間違いありません –