Czy tak jest? Czy NSUserDefaults są resetowane po przesłaniu aktualizacji do aplikacji w App Store, czy też są resetowane?
Moja aplikacja ulega awarii po zaktualizowaniu, ale nie ulega awarii po pełnym pobraniu - więc próbuję określić, co może się różnić w zaktualizowanej sesji od świeżo pobranej sesji.
Pozdrawiam, Nick.
iphone
crash
nsuserdefaults
Nick Cartwright
źródło
źródło
Odpowiedzi:
Zwykle nie są resetowane, chyba że użytkownik usunie aplikację. W przypadku danych podstawowych NSUserDefaults to najlepszy sposób na zapisywanie danych, takich jak preferencje, daty, ciągi znaków itp. Jeśli chcesz zapisać obrazy i pliki, lepszym rozwiązaniem jest system plików.
źródło
Wierzę, że odpowiedź brzmi TAK, będzie trwać. Jest to również w pełni udokumentowane w rozdziale Katalog aplikacji w Przewodniku programowania systemu operacyjnego Apple iPhone.
źródło
źródło
Jeśli masz model CoreData i zmieniłeś coś w swoim modelu i zaktualizowałeś, bez zarządzania migracją, prawdopodobnie jest to powód, dla którego Twoja aplikacja ulega awarii podczas aktualizacji ...
źródło
Mam podobne doświadczenie. Nasza aplikacja przechowuje numer wersji w Settings.Bundle / Root.Plist. Jest to wyświetlane w aplikacji Ustawienia iPhone'a. Odkryliśmy, że w przypadku instalacji numer wersji jest ładowany z pakietu aplikacji - dlatego numer wersji jest poprawny. Jednak w przypadku aktualizacji numer wersji się nie zmienia. Daje to wrażenie, że użytkownik korzysta z poprzedniej wersji aplikacji. Nie mamy logiki związanej z numerem wersji, służy ona tylko do wyświetlania (może być wykorzystana przez personel contact center przy diagnozowaniu usterek).
Z naszego doświadczenia wynika, że NSUserDefaults nie jest usuwany, gdy użytkownik aktualizuje naszą aplikację, ale ekran Ustawienia również nie jest aktualizowany.
źródło
Pamiętaj o tym przypadku, gdy Twoja aplikacja działa w tle i nie możesz uzyskać dostępu do przechowywanych wartości w NSUserDefaults:
Eric:
Eskimo ([email protected]):
Źródło: https://webcache.googleusercontent.com/search?q=cache:sR9eZNHpZtwJ:https://forums.developer.apple.com/thread/15685
źródło