Xcode의 기본 SenTest 프레임 워크를 사용하여 키 체인을 읽고 변경하는 코드를 테스트하려고합니다. 코드는 기기에서 제대로 작동하지만 테스트를 시작할 때 SecItemDelete
/SecItemAdd
/등으로 키 체인을 터치 할 때마다 이러한 오류가 발생합니다.키 체인 테스트 - OSStatus 오류 -34018
The operation couldn’t be completed. (OSStatus error -34018 - client has neither application-identifier nor keychain-access-groups entitlements)
나는 빌드 대상 및 시험 대상 모두에 대한 와일드 카드 프로비저닝 프로파일 (iOS Team Provisioning Profile: *
)을 일치했다.
이 (미확인) 스택 오버플로 답변 :
Read from keychain results in errSecItemNotFound 25300
내가 내 응용 프로그램 식별자 내가 키 체인을 사용할 때마다 일치하는 프로비저닝 프로파일이 필요하다고 말하지만, 그 오른쪽이 될 수 없습니다, 아니면 ' 테스트 대상 밖에서 같은 오류가 발생합니다. 여기에 (미확인) 답변, 깊이를 파고
:
SecItemAdd and SecItemCopyMatching returns error code -34018 (errSecMissingEntitlement)
솔직히 무서운 더 일반적으로Security.framework
키 체인 내에서 버그,있을 수 있음을 의미한다.
내 질문은; 누구든지 OSStatus 오류가 발생했습니다 - 04030 테스트 대상에있을 때만 해당합니까? 그것은 내가 보는 행동 인 것처럼 보입니다.
편집 : this answerJorgeDeCorte을 아래의 답변에 사용하십시오.
이 스레드는 문제가 유닛 테스트 대상에서 종료 된 경우 해결 방법이 포함 된 것으로 보입니다.
https://devforums.apple.com/message/917498#917498
은 기본적으로 당신은 테스트 대상의 실행 스크립트로 다음 를 추가하여 .xcttest 폴더를 통합 설계해야합니다. 장치 내 키 체인을 테스트 할 때
나는 -34018 많은 오류를 가지고와이 문제를 해결할 수 있었다.
codesign --verify --force --sign "$CODE_SIGN_IDENTITY" "$CODESIGNING_FOLDER_PATH"
문제가 테스트 대상에 없다면 이는 아마도 해결책이 아닙니다.
그래서 해결책은 다음과 같습니다. 테스트 대상에 서명하십시오.
링크가 끊어진 경우를 대비하여 링크 된 솔루션을 설명해 주시겠습니까? 또는 클릭을 통해 찾을 필요가 없습니다. ... – newenglander