2013-08-19 49 views
0

我正在尝试加载uiwebview中的网页。 现在该页面基于json文件管理内容。写入应用程序沙箱中的文件问题IOS

此文件也是通过对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

我想你没有.json文件在你的文档目录中 – Tendulkar

+2

可能是URL不是全局的。意味着它是我认为的本地系统。 –

+0

@Tendulkar正确我的文件不在文档目录中... 但如果我把它放在文档目录中,它将不会被我的网页访问,然后... –

回答

1

如果r099是你实际的主机名,然后确保设备能够解析为IP地址,该地址是从设备的网络连接访问。

模拟器可以使用Mac的网络(包括/etc/hosts文件),而您的设备仍然卡在无线(蜂窝或Wi-Fi)网络中。如果设备连接的DNS服务器无法解析主机名称,那么您运气不好。

如果您的Web服务器具有单个Web主机(这通常无法在共享Web主机上运行),则可以尝试使用IP地址而不是主机名。

如果您的设备连接使用您的ISP或数据服务提供商的DNS服务器,则不太可能解决本地网络上的任何问题。您的设备需要一个能够在Internet上解析并可访问的主机名。

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