iOS 개발/iOS

[iOS] KeyChain 에 저장된 값은 앱 삭제 전까지 정말 사라지지 않는가

beankhan 2017. 9. 28. 16:15


Keychain 은 앱 삭제 전까지 정말 사라지지 않는가?

사라질 수 있다. ㅠㅠ



조건

iOS 10.3.3 이상 단말,
Key 생성 시 kSecAttrAccessible 설정을 하지 않았다 (default 값으로 두었다)

kSecAttrAccessible 설정값 참고 : http://beankhan.tistory.com/109


언제 발생하는가?

1. iTunes 를 이용한 백업 / 복원 시 

2. iCloud 를 이용한 백업 / 복원 시
설정 > iCloud > Keychain 옵션이 꺼져있는경우



사라지지 않게 할 수 있는가?

없다.

iTunes 를 이용한 백업 / 복원 시 남겨두고 싶다면
kSecAttrAccessible 설정을 (ThisDevice) 가 없는 단어로 설정하면 된다.

iCloud 를 이용한 백업 / 복원 시에는
ThisDevice 속성을 가진 Keychain 값이라도 남아있다. (사라지지 않는다.)
하지만, 사용자가 iCloud 설정에서 Keychain 백업 옵션을 꺼놓았다면
사라질 수 있다.




결론

KeyChain 을 앱 삭제전까지 유효한 저장공간이라고 보기는 어렵다.
영구히 저장해야할 데이터가 있다면 다른 공간을 알아보는 것이 좋다.





참고


http://beankhan.tistory.com/109
http://beankhan.tistory.com/194