iPhone 5 uiwebview 问题

Posted

技术标签:

【中文标题】iPhone 5 uiwebview 问题【英文标题】:iPhone 5 uiwebvew issue 【发布时间】:2012-10-15 15:48:27 【问题描述】:

我创建了一个应用程序,它只从我们的网站加载网页的某些部分,我们的应用程序将 wordpress url 发送到 php 文件,然后使用 php 代理将网页内容加载到 uiwebview。然而,当应用程序在 iPhone 5 上运行时,uiwebview 不会加载内容,但实际上适用于其他所有设备,iPad 2 (ios 6)、iphone 3g (iOS 4.1)、iOS 模拟器和 ipod touch。有谁知道为什么会这样?

如果您需要更多信息或不清楚的地方,请告诉我。

感谢您的时间和帮助。

代码:

-加载uiwebview的应用代码

    NSString *jobURL = [NSString stringWithFormat:@"http://www.redstarjobs.com/?job=%@",[jobDetails objectForKey:@"PostName"]];    
    NSString *urlString = [NSString stringWithFormat:@"http://bigbluemagic.com/redstarjobs/testing_1/script.php?url=%@",[jobURL stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
   [self.webView loadRequest:[NSURLRequest requestWithURL:[NSURL URLWithString:urlString]]];

-加载网页内容php文件

http://pastebin.com/pVsgSF4Q

-代理php文件

<?php echo file_get_contents(urldecode($_GET['url']));?>

编辑

jobURL 和 urlString 的 NSLog,该应用是一个职位列表应用,因此 url 取决于职位。

jobURL:http://www.redstarjobs.com/?job=sap-payroll-administrator
urlString:http://bigbluemagic.com/redstarjobs/testing_1/script.php?url=http://www.redstarjobs.com/?job=sap-payroll-administrator

jobURL:http://www.redstarjobs.com/?job=sap-manufacturing-lead-tiffinsolutions
urlString:http://bigbluemagic.com/redstarjobs/testing_1/script.php?url=http://www.redstarjobs.com/?job=sap-manufacturing-lead-tiffinsolutions

【问题讨论】:

NSLog jobURL、urlString 并使用结果编辑您的问题 【参考方案1】:

尝试一次编码整个 URL,而不仅仅是结束位。

NSString *jobURL = [NSString stringWithFormat:@"http://www.redstarjobs.com/?job=%@",[jobDetails objectForKey:@"PostName"]];
NSString *urlString = [NSString stringWithFormat:@"http://bigbluemagic.com/redstarjobs/testing_1/script.php?url=%@",jobURL];
NSURL *stringUrl = [NSURL URLWithString:[urlString stringByAddingPercentEscapesUsingEncoding:NSUTF8StringEncoding]];
[self.webView loadRequest:[NSURLRequest requestWithURL:stringUrl]];

如果这不起作用,请调用 UIWebView didFailLoadWithError 方法并查看它作为错误返回的内容。

- (void)webView:(UIWebView *)webView didFailLoadWithError:(NSError *)error

【讨论】:

感谢您的建议,原来测试人员的应用版本有误。

以上是关于iPhone 5 uiwebview 问题的主要内容,如果未能解决你的问题,请参考以下文章

Cocoa Touch UIWebView - 以编程方式与网页交互

iPhone 5 uiwebview 问题

_UIFallbackPresentationViewController

UIWebView 和 URLRequest 拦截

UiWebView 全屏显示

使用 UIWebView+AFNetworking 时链接如下