【问题标题】:UIWebView Loading content properly on iOS 6 simulator but not on device?UIWebView 在 iOS 6 模拟器上正确加载内容但不是在设备上?
【发布时间】:2012-09-21 08:56:30
【问题描述】:

我在发布的应用程序中遇到了一个奇怪的错误。我的 UIWebView 不再在 iOS 6 上加载内容,但内容仍显示在模拟器中。活动指示器正确显示,但随后加载了一个空白网址?同样,这只发生在设备上,而不是模拟器上。

为了提供额外的上下文(在模拟器中,NSURLRequest 被分配了正确的 URL。在设备上运行时,该值为 nil。)

这是我的代码:

-(void)loading
{
    if(!self.webView.loading)
        [self.activityIndicator stopAnimating];
    else {
        [self.activityIndicator startAnimating];
    }
}


- (void)viewDidLoad
{
    [self.webView addSubview:self.activityIndicator];
    NSURLRequest *requestUrl = [NSURLRequest requestWithURL:self.url];
    [self.webView loadRequest:requestUrl];
    self.timer = [NSTimer scheduledTimerWithTimeInterval:(1.0/2.0) target:self selector:@selector(loading) userInfo:nil repeats:YES];
     [super viewDidLoad];
    NSLog(@"%@", requestUrl);
}

【问题讨论】:

    标签: uiwebview ios-simulator ios6


    【解决方案1】:

    请在 nib 中使用 web 视图并将其调试到 safari 开发者工具, 这样您就可以追踪实际问题。我将这种方法用于我的应用程序及其工作。 打开开发者工具的流程 1-开放游猎 2-去偏好 3-去高级选项 4-设置开发人员工具 遵循上述过程后,您可以看到您的 safari 有选项开发。 这意味着您的 safari 开发人员工具处于活动状态,您可以调试 ios 应用程序

    【讨论】:

      【解决方案2】:

      我们的 Web 应用程序 (HTML+JS+CSS) 也有类似的问题,它没有在设备上加载,但在浏览器和 iPhone 模拟器中运行良好。问题的原因是文件名中的错误大小写。例如,HTML 文件想要加载一个文件“Loader.js”,而它的名称是“loader.js”。

      所以,也许您应该检查您的“self.url”(如果您的“index.html”的文件名大小写正确)。

      【讨论】:

      • 你赢了! ^^ 模拟器没有考虑这种情况,与设备相反。我的问题解决了。
      • 感谢 Pluton 的回复,我认为这不能解决我的特定问题。但看起来你帮助解决了暗黑者的问题。我不得不暂时搁置这个项目,但很快就会重新审视它。如果结果证明能解决我的问题,我会投票赞成。
      猜你喜欢
      • 1970-01-01
      • 2013-07-08
      • 1970-01-01
      • 2011-05-05
      • 1970-01-01
      • 1970-01-01
      • 2018-12-12
      • 2015-06-11
      • 1970-01-01
      相关资源
      最近更新 更多