写入应用程序沙箱IOS中的文件的问题

时间:2013-08-19 12:43:52

标签: ios objective-c

我正在尝试在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];

1 个答案:

答案 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服务器,请参阅上文。