2014-08-28 2 views
0

키 체인에 대해이 사과 샘플을 읽기 시작했으며 kSecAttrGeneric 유형과 연결된 키 체인 항목의 모든 값을 가져 오는 것을 이해했습니다. 그런 다음 누군가가 캐시 된 값을 형성하는 키를 검색하려고하면 올바른 접근 방법이 될 수 있습니다.이 프리 페치 방법이 잘못되었다고 생각합니다.키 체인의 모든 항목을 한 번에 가져 오는 중입니까?

필요에 따라 키 체인에서 직접 액세스하는 대신 키 체인에서 모든 데이터를 프리 페치 할 수있는 이유를 알려주십시오.

https://developer.apple.com/library/ios/samplecode/GenericKeychain/Introduction/Intro.html

답변

1

나는 그 예를 약간 잘못 읽은 것 같습니다. GenericKeychain에서는 "모든 항목"을 가져 오지 않습니다. 그들은 단지 하나의 항목과 하나의 값을 가져옵니다. 키 체인 항목은 반 공개 된 속성과 보호 된 "값"으로 구성됩니다. 키 체인을 읽는 것은 비용이 많이 들지만 (디스크에서 파일을 읽는 것보다 훨씬 느리다. 정말 놀랍게 느리다). 따라서이 예제는 필요하지 않을 때 다시 읽지 않아도됩니다. 하지만 전체 키 체인을 읽지는 않습니다. 데이터를 저장하는 항목 하나.

+0

예, 네 말이 맞아. 나는 너를 해명 해 줘서 고마워. – thndrkiss

1

그것은 효율성과 관련이있다. 디스크에서 읽기는 비용이 많이 들기 때문에 키 체인을 여러 번 읽는다면 키 체인 전체를 읽은 다음 메모리에서 읽는 것이 더 효율적입니다.

+0

안전한가요?!? 기기가 잠겨 있지 않은 경우에만 키 체인을 열어 두는 것과 같은 키 체인에 대한 정보를 읽은 것을 기억합니다. 이렇게하면 바로 이러한 기능을 놓칠 수 있습니다. – thndrkiss

관련 문제