2012-10-21 13 views
8

Tôi có một ứng dụng đang kéo các phần của trang web vào UIWebViews. Các trang đó sử dụng Lưu trữ cục bộ để duy trì trạng thái, như điều cuối cùng được xem và các cài đặt khác nhau, v.v.HTML 5 Bộ nhớ cục bộ không hoạt động trong UIWebView trên iOS 6, 7 hoặc 8

Tôi thấy bộ nhớ cục bộ UIWebViews được tạo (qua Thanh tra Web với thiết bị và ứng dụng được kết nối với máy gỡ lỗi) nhưng sau đó xóa sau ứng dụng bị tắt. Các trang có liên quan hoạt động chính xác trên trang chính trong các trình duyệt chuẩn và thậm chí là Mobile Safari, nhưng không hoạt động trong UIWebViews?

Tôi đã tìm hiểu về một số thay đổi đối với bộ nhớ cache lưu trữ cục bộ với iOS6 nhưng không hiểu rõ liệu điều này có hoạt động hay không và nếu có thì hãy bật tính năng này như thế nào?

Bất kỳ ai có câu trả lời dứt khoát, trước khi chúng tôi phải chuyển sang sử dụng cookie hoặc làm điều gì đó ở phía máy chủ?

Cảm ơn.

Trả lời

5

* CẬP NHẬT *
Definite lỗi iOS, báo cáo như sau: # 12.546.916
Không cố định như iOS: 8.3

UIWebView bỏ qua WebKitStoreWebDataForBackup trọng khi đặt trong NSUserDefaults.

* Original Post *
chính NSUserDefaults này đã trở thành có sẵn trong iOS 6:

WebKitStoreWebDataForBackup = YES 

Chúng tôi đặt nó ở phía trên cùng của ApplicationDelegate của chúng tôi như sau:

[[NSUserDefaults standardUserDefaults] setBool:YES forKey:@"WebKitStoreWebDataForBackup"]; 

iOS 6 phát hành Ghi chú thảo luận tại đây: Release Notes. Đó là nghĩa vụ phải nói với WebKit rằng UIWebView LocalStorage không phải là dùng một lần và gây ra nó được đặt ở vị trí không dùng một lần.

Rõ ràng là không hoạt động. iOS bỏ qua WebKitStoreWebDataForBackup và xóa LocalStorage khi ứng dụng tắt hoặc làm mới trang.

Sử dụng Trình kiểm tra web trong khi gỡ lỗi có thể thấy bộ nhớ cục bộ được tạo, nhưng sau đó sau khi tắt ứng dụng và khởi động lại nó đã biến mất.

Trang html/js được đề cập KHÔNG hoạt động khi được xem trong Firefox, Chrome, Safari và Safari di động, nhưng KHÔNG khi trang được xem trong UIWebView.

+0

Có bất kỳ bản cập nhật nào là Apple đã khắc phục sự cố đó hay không? –

+0

Bạn chưa nhận được bất kỳ thông báo nào thông qua Bug Reporter rằng lỗi này là "Fixed". Họ đã thông báo cho tôi cho những người khác, vì vậy tôi hy vọng họ cũng làm điều này. –

+0

Tôi chưa thể tạo lại lỗi này trong 6.1.3 hoặc 6.1.4. Bất cứ ai khác tái tạo lỗi này trong các phiên bản trước? – iphone007