我正在尝试在uiwebview
中加载网页。
现在,此页面基于json
文件对内容进行了编辑。
此文件也通过对Web服务进行分级来填充。
我正在做的是我使用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];
答案 0 :(得分:1)
如果r099
是您的实际主机名,请确保设备能够将其解析为IP地址,并且可以从设备的网络连接访问该地址。
模拟器可以使用您的Mac网络(包括/etc/hosts
文件),而您的设备仍然无法使用无线(蜂窝或Wi-Fi)网络。如果设备连接的DNS服务器无法解析主机名,那你就不走运了。
如果您的Web服务器只有一个Web主机(这通常不适用于共享的Web主机),您可以尝试使用IP地址而不是主机名。
如果您的设备的连接使用的是ISP或数据服务提供商的DNS服务器,则无法解析本地网络上的任何内容。您的设备需要一个可以在Internet上解析并可以访问的主机名。
如果您的设备使用的是Wi-Fi连接并且在本地网络上使用DNS服务器,则需要确保已为该主机名添加了DNS条目。同样,如果您的Wi-Fi设置正在使用您的ISP或数据提供商的DNS服务器,请参阅上文。