0

我正在尝试在uiwebview. 现在此页面基于json文件对内容进行分级。

此文件还通过对 Web 服务的 ext 评级填充。我正在做的是使用 Web 服务填充此 json 文件并将此内容呈现在显示的页面上web view

但问题是当我在模拟器上执行它时它工作正常。但它不适用于我的设备。

这是代码。我将突出显示相关行。

 NSURL *jsonURL=[NSURL URLWithString:@"http://r099:8080/WebServiceforiPad/rest/ipad/content/login/"];
   // NSLog(@"%@",jsonSourcePathName);
    NSString *jsonfileString=[NSString stringWithContentsOfURL:jsonURL encoding:NSASCIIStringEncoding error:nil];

    NSLog(@"%@",jsonfileString);



    NSString *documentDirectory=[NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES) lastObject];
    NSString *jsonFilePath=[documentDirectory stringByAppendingPathComponent:@"b2b_capability_eris.json"];
    NSLog(@"###########%@",documentDirectory);

    [jsonfileString writeToFile:jsonFilePath atomically:YES encoding:NSStringEncodingConversionAllowLossy error:nil];
4

1 回答 1

1

如果r099是您的实际主机名,请确保设备能够将其解析为 IP 地址,并且该地址可通过设备的网络连接访问。

模拟器能够使用您的 Mac 网络(包括/etc/hosts文件),而您的设备却与您的无线(蜂窝或 wi-fi)网络保持一致。如果您设备连接的 DNS 服务器无法解析主机名,那么您就不走运了。

如果您的网络服务器只有一个网络主机(这通常不适用于共享网络主机),您可以尝试使用 IP 地址而不是主机名。

如果您的设备连接使用的是您的 ISP 或数据服务提供商的 DNS 服务器,那么它可能无法解析您本地网络上的任何内容。您的设备需要一个可解析且可在 Internet 上访问的主机名。

如果您的设备正在使用您的 wi-fi 连接并且正在使用本地网络上的 DNS 服务器,那么您需要确保已为该主机名添加了 DNS 条目。同样,如果您的 wi-fi 设置使用您的 ISP 或数据提供商的 DNS 服务器,请参见上文。

于 2013-08-19T14:08:18.993 回答