2011-10-18 35 views
8

Nếu tôi tạo một ứng dụng trong PhoneGap sử dụng localStorage để lưu trữ dữ liệu khóa/giá trị, liệu dữ liệu này sẽ được đồng bộ hóa với các thiết bị khác thông qua iCloud? Tôi không cần phải tiết kiệm nhiều dữ liệu.PhoneGap localStorage có lưu vào iCloud không?

+1

Hình như câu trả lời asgeo1 là điều đúng, trái ngược với một chấp nhận bởi OP. – michielbdejong

+0

Có, câu trả lời khác phải là câu trả lời được chấp nhận – Timo

Trả lời

-2

Không, localStorage là trình duyệt dựa trên và vẫn tồn tại thông qua UIWebView mà Phonegap cung cấp cho bạn để chơi trong, nó không gắn liền với một ứng dụng.

Bạn có thể viết một plugin để truy cập vào thư mục tài liệu để lưu thông tin vào iCloud bằng Phonegap.

Thông tin không chính xác cũ tại đây. Xem câu trả lời của @ asgeo1 bên dưới.

20

Tôi không đồng ý với @sciritai.

localStorage trong iOS chỉ là tệp db SQLite được lưu trữ ở đâu đó trên thiết bị.

Có lẽ mọi thứ đã khác trong phiên bản Phonegap/Cordova trước đó, nhưng trong phiên bản hiện tại Phonegap ghi tệp localStorage.db vào thư mục Tài liệu cho ứng dụng của bạn.

Cụ thể: Documents/Backups/localstorage.appdata.db

Kể từ thư mục Documents là cụ thể cho từng ứng dụng, nó sẽ được tự động lưu vào iCloud.

Tôi có thể xác nhận điều này khi tôi xem cài đặt iCloud trong iOS (dưới Storage & Backup > Manage Storage).

Tôi có thể thấy rằng ứng dụng HTML5 iOS của tôi đang được sao lưu vào iCloud. Và điều đó bao gồm dữ liệu trong localStorage :)

Tôi tin rằng có nghĩa là nếu bạn có nhiều thiết bị, thì localStorage sẽ được đồng bộ hóa giữa chúng - mặc dù tôi chưa tự xác nhận. Tôi không chắc làm thế nào iOS sẽ đối phó với các xung đột trong tập tin localStorage thực sự.

+0

Điều gì sẽ xảy ra nếu ứng dụng bị gỡ cài đặt hoặc cập nhật - Dữ liệu có bị mất sau đó không? – Timo

4

Cũng giống như asgeo1 nói, localstorage không được lưu vào iCloud. Bạn có thể tắt tính năng này bằng cách thiết lập BackupWebStorage thành none trong config.xml. Here là liên kết đến tài liệu Phonegap.

Lưu ý rằng chỉ có thể lưu trữ dữ liệu người dùng vào iCloud. Dữ liệu cần thiết cho mục đích ngoại tuyến có thể không được lưu trữ trong iCloud. Here là liên kết tới Q & của Apple A.

6

Tôi đang sử dụng @ asgeo1 trên trang này. Ứng dụng trên điện thoại mà tôi vừa gửi đã bị Apple từ chối vì nó sử dụng nhiều dung lượng lưu trữ cục bộ của các tệp tạm thời và các tệp này đã được nhập vào bản sao lưu trên icloud.

Việc sửa chữa là để thêm video này config.xml của bạn:

<preference name="BackupWebStorage" value="none" /> 
+1

Theo tài liệu tại https://cordova.apache.org/docs/en/latest/config_ref/ giá trị mặc định là 'cloud' và các giá trị được phép là' none', 'local',' cloud' Đặt để 'đám mây' để cho phép lưu trữ dữ liệu trên web thông qua iCloud. Đặt thành 'local 'để chỉ cho phép sao lưu cục bộ thông qua đồng bộ iTunes. Đặt thành 'none' để ngăn các bản sao lưu bộ nhớ trên web. –

Các vấn đề liên quan