开发者

iOS UIWebView of RSS to look more like Safari and stay inside app

Im creating an RSS reader app...but I have noticed tha开发者_如何学Got UIWebView renders the RSS feed very differently than Safari does.

This is the RSS feed... http://www.sigmapi2.org/index.php?option=com_ninjarsssyndicator&feed_id=2&format=raw

This is what I want my UIWebView to look like...this is a screenshot from iOS' Mobile Safari

iOS UIWebView of RSS to look more like Safari and stay inside app

NSURL *url = [NSURL URLWithString:@"http://www.sigmapi2.org/index.php?option=com_ninjarsssyndicator&feed_id=1&format=raw"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView1 loadRequest:request];}

produces a blank page in the UIWebView

And this code below...(Address taken from mobile safari when it loaded the RSS feed like I wanted it to)...

    NSURL *url = [NSURL URLWithString:@"http://reader.mac.com/mobile/v1/www.sigmapi2.org/index.php?option=com_ninjarsssyndicator&feed_id=1&format=raw"];
NSURLRequest *request = [NSURLRequest requestWithURL:url];
[webView1 loadRequest:request];}

shows this...

iOS UIWebView of RSS to look more like Safari and stay inside app

any help would greatly be appreciated.


You need to create an XML Parser. The UIWebView does not have the same capabilities as Safari. The best XML parser I found is here: https://github.com/mwaterfall/MWFeedParser


You need to implement a url that must be different than the baseurl.

NSString * userAgent = @"Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420+                  (KHTML, like Gecko) Version/3.0 Mobile/1A543a Safari/419.3";
NSString * urlString = @"http://reader.mac.com";
NSURL *URL = [NSURL URLWithString:urlString];
NSMutableURLRequest *req = [NSMutableURLRequest requestWithURL:URL];
[req setValue:userAgent forHTTPHeaderField:@"User-Agent"];
NSURLResponse* response = nil;
NSError* error = nil;
NSData* data = [NSURLConnection sendSynchronousRequest:req
                                         returningResponse:&response
                                                     error:&error];
[self.article loadData:data MIMEType:@"text/html" textEncodingName:@"utf-8" baseURL:URL];
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜