2011-01-26 8 views
7

Miền ứng dụng có được sao lưu trong [NSUserDefaults standardUserDefaults] khi người dùng đồng bộ hóa thiết bị của họ không? Nếu không, bạn có thể đề xuất một giải pháp thay thế đúng không?Sao lưu NSUserDefault và đồng bộ hóa iPhone

Apple tham chiếu đến "Tùy chọn ứng dụng" trong tài liệu của nó, chẳng hạn như liên quan đến mua hàng trong ứng dụng. Tôi hiểu, có lẽ không chính xác, rằng họ đang làm tham chiếu đến NSUserDefaults ở đây mặc dù các thuật ngữ không xuất hiện để phù hợp hoàn hảo.

Mua hàng trong ứng dụng mà tôi dự định ghi trong [NSUserDefaults standardUserDefaults], cần được sao lưu trong dự án của tôi.

Cám ơn bạn trước.

Trả lời

10

Có. NSUserDefaults sử dụng tệp PLIST làm cửa hàng sao lưu, được lưu trữ trên từng đồng bộ hóa. Xem http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/UserDefaults/Concepts/DefaultsDomains.html để biết thêm thông tin.

Nếu bạn muốn tự mình xem, bạn có thể xem ~/Library/Application Support/MobileSync/Backup /. Tạo bản sao lưu không được mã hóa của thiết bị chỉ với ứng dụng của bạn trên đó và xem các tệp trong trình chỉnh sửa PLIST.

+1

Cảm ơn bạn đã đăng bài. Tôi hoang tưởng về điều này, vì vậy tôi sẽ kiểm tra ~/Backup. – SK9

+0

nếu bạn muốn phát điên, hãy lưu trữ dữ liệu này trên cơ sở dữ liệu bên ngoài thiết bị. theo cách đó nếu họ không sao lưu thiết bị của họ, họ có thể khôi phục từ máy chủ. Mặc định được sao lưu (bạn có thể kiểm tra điều này bằng cách sao lưu, sau đó khôi phục từ bản sao lưu cũng trên thiết bị), nhưng nếu bạn muốn bao gồm tất cả các căn cứ của mình, đây là một cách khác để đi –

+0

Tôi rất vui khi không chịu trách nhiệm để người dùng sao lưu vào dịp này, chỉ cần miễn là tôi rõ ràng cho họ cơ hội để làm như vậy. Đó là đủ tốt cho mục đích của tôi. (Đăng câu hỏi khác sau vài phút ...) – SK9