2013-08-19 54 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服務器,請參閱上文。