Tôi đang làm việc trên ứng dụng iPad có máy chủ HTTP được nhúng trên cổng cao và tôi đang tải các trang từ máy chủ HTTP này bằng cách sử dụng a UIWebView
.Cho phép UIWebView tải http: // localhost: cổng/đường dẫn URI mà không cần kết nối Internet
Đối với chức năng của ứng dụng, điều quan trọng là thao tác này hoạt động khi không có kết nối mạng.
Các UIWebView
đang tải URL có dạng http://localhost:port/path
Khi tôi tắt Wi-Fi trên iPad của tôi và chạy ứng dụng, đại biểu các 's UIWebView
nhận được một thông điệp webView:didFailLoadWithError:
với đối tượng NSError sau:
Error Domain=NSURLErrorDomain Code=-1009 UserInfo=0x1b4a50 "no Internet connection"
Rõ ràng SDK đang được thông minh và phát hiện rằng nó không có kết nối Internet, nhưng bạn có thể truy cập 127.0.0.1/localhost/::1 mà không cần kết nối Internet. Tôi sẽ báo cáo lỗi cho Apple nhưng tôi đang yêu cầu ở đây để được tư vấn về cách giải quyết có thể có cho lỗi SDK này trong thời gian chờ đợi.
Xin lưu ý: việc thay đổi kiến trúc của ứng dụng không nằm trong phạm vi của câu hỏi này.
Tại sao không tải các trang bằng phương thức 'loadHTMLString: baseURL:' của UIWebView? – lucius
Tôi không thể thực sự đi sâu vào chi tiết (vì vậy câu cuối cùng của câu hỏi), nhưng có nhiều lý do tại sao tôi không thể sử dụng phương pháp đó liên quan đến việc xử lý các tài nguyên tập lệnh, phong cách và hình ảnh bên ngoài mà trang tham chiếu và không dễ xác định trước khi bắt đầu tải trang ban đầu. Máy chủ web nhúng hoạt động như một loại máy chủ proxy cho các tài nguyên mà nó có được thông qua một phương tiện khác với truy cập mạng Wi-Fi/3G. – jbg