2011-01-26 10 views
7

Czy domena aplikacji w numerze [NSUserDefaults standardUserDefaults] została zarchiwizowana, gdy użytkownik zsynchronizuje swoje urządzenie? Jeśli nie, czy możesz zasugerować bliską poprawną alternatywę?Tworzenie kopii zapasowej NSUserDefaults i synchronizowanie iPhone'a

Apple odwołuje się do "Preferencji aplikacji" w dokumentacji, na przykład dotyczących zakupów w aplikacji. Rozumiem, być może niepoprawnie, że oni odnoszą się do NSUserDefaults tutaj, chociaż terminologia wydaje się nie pasować idealnie.

Zakupy w aplikacji, które planuję nagrać w [NSUserDefaults standardUserDefaults], należy zarchiwizować w moim projekcie.

Dziękując uprzejmie z góry.

Odpowiedz

10

Tak. NSUserDefaults używa pliku PLIST jako magazynu kopii zapasowej, którego kopia zapasowa jest tworzona podczas każdej synchronizacji. Aby uzyskać więcej informacji, patrz http://developer.apple.com/library/mac/#documentation/Cocoa/Conceptual/UserDefaults/Concepts/DefaultsDomains.html.

Jeśli chciałbyś się przekonać, możesz sprawdzić ~/Library/Application Support/MobileSync/Backup /. Utwórz niezaszyfrowaną kopię zapasową urządzenia z samą aplikacją i przeglądaj pliki w edytorze PLIST.

+1

Dziękuję za Twój wpis. Jestem paranoikiem, więc sprawdzę ~/Backup. – SK9

+0

jeśli chcesz być szalony, przechowuj te dane w bazie danych poza urządzeniem. w ten sposób, jeśli nie uda się utworzyć kopii zapasowej swojego urządzenia, mogą je przywrócić z serwera. Zarchiwizowane są ustawienia domyślne (możesz to sprawdzić, wykonując kopię zapasową, a następnie przywracając dane z kopii zapasowej lub urządzenia), ale jeśli chcesz objąć wszystkie swoje bazy, jest to inny sposób na odejście –

+0

Jestem szczęśliwy, że nie biorę odpowiedzialności aby użytkownik mógł wykonać kopię zapasową przy tej okazji, o ile wyraźnie daję im taką możliwość. To wystarczy dla moich celów. (Zamieszczanie innego pytania za kilka minut ...) – SK9