NSUSERDEFAULTS는 AppStore의 앱에 대한 업데이트를 통해 지속됩니까?
-
08-07-2019 - |
문제
이것이 사실입니까? 앱 스토어의 앱에 업데이트를 제출할 때 NSUSERDEFAULTS가 재설정 되나요? 아니면 재설정 되나요?
내 앱이 업데이트 될 때 충돌하지만 완전히 다운로드 할 때 충돌하지 않으므로 업데이트 된 세션에서 새로 다운로드 한 세션과 다른 점을 결정하려고합니다.
건배, 닉.
해결책
사용자가 앱을 삭제하지 않으면 일반적으로 재설정되지 않습니다. 기본 데이터의 경우 NSUSERDEFAULTS는 기본 설정, 날짜, 문자열 등과 같은 데이터를 저장하는 가장 좋은 방법입니다. 이미지 및 파일을 저장하려는 경우 파일 시스템이 더 나은 내기입니다.
다른 팁
나는 대답이 그렇다고 믿습니다. 그것은 지속될 것입니다. 이것은 또한 Apple iPhone OS 프로그래밍 안내서의 애플리케이션 디렉토리 챕터 아래에 완전히 문서화되었습니다.
- 게시 된 질문에 대한 직접적인 답변 : 예.
- 문제 : 논리 문제로 인해 앱이 충돌합니다. 객체를 기본값에 저장하고 앱이 출시시 (또는 다른 곳) 값을 확인한다고 가정합니다. 업데이트에서 확인 또는 사용 방식을 변경할 수 있습니다. 예를 들어 값을 기대하지만 객체는 NIL 또는 그 반대도 마찬가지입니다. 이로 인해 sigabrt 또는 exc_bad_access가 발생할 수 있습니다.
Coredata 모델이 있고 마이그레이션을 관리하지 않고 모델과 업데이트에서 무언가를 변경했다면 아마도 앱이 업데이트에 충돌하는 이유입니다 ...
비슷한 경험이 있습니다. 우리의 앱은 settings.bundle/root.plist에 버전 번호를 저장합니다. 이것은 iPhone 설정 앱을 통해 표시됩니다. 우리가 찾은 것은 설치에서 앱 번들에서 버전 번호가로드되므로 버전 번호가 정확하다는 것입니다. 그러나 업데이트에서는 버전 번호가 변경되지 않습니다. 이렇게하면 사용자가 이전 버전의 앱을 실행하는 인상을줍니다. 버전 번호에 연결된 논리가 없으며 디스플레이 용일뿐입니다 (결함을 진단 할 때 컨택 센터 직원이 사용할 수 있음).
우리의 경험은 사용자가 앱을 업데이트 할 때 nsuserDefaults가 지워지지 않지만 설정 디스플레이도 업데이트되지 않습니다.