Xcode 명령 /usr/bin/codesign이 종료 코드 1로 인해 실패했습니다.errSecInternalComponent
-
21-12-2019 - |
문제
장치에서 앱을 테스트하기 위해 Xcode에 새 프로비저닝 프로필을 추가하려고 합니다.내가 따라온 단계는 다음과 같습니다.
모든 인증서 및 프로비저닝 프로필을 삭제했습니다.
IOS 개발 인증서 생성/추가
내 IOS 장치를 온라인으로 추가
IOS 프로비저닝 프로필 생성
IOS 프로비저닝 프로필 추가
클린 앱
앱 빌드 후 실행
빌드 설정에서 공동 설계 및 프로비저닝 프로필 설정
수많은 인터넷 검색 > 성공하지 못함
내가 얻는 오류는 다음과 같습니다.
CSSM_SignData returned: 800108E6
/Users/alexpelletier/Library/Developer/Xcode/DerivedData/MyExpense-efnqzvoqwngzcmazaotyalepiice/Build/Products/Debug-iphoneos/MyExpense.app: errSecInternalComponent
Command /usr/bin/codesign failed with exit code 1
해결책
열기 키 체인 액세스 , 파일 메뉴 선택 를 선택하십시오.
다음 Xcode로 돌아가서 청소하고 재구성하십시오.키 체인을 잠금 해제하려면 비밀번호를 다시 묻는 메시지가 표시됩니다.
이후 다른 컴파일 문제가 없으면 성공할 것입니다!
다른 팁
코드 서명 메커니즘의 버그처럼 보이는 것처럼 Mac을 다시 시작하면 문제가 해결되어야합니다
로그인 키 체인이 잠겨있을 때 발생합니다.로그인 키 체인 잠금을 해제하려면 실행 :
security unlock-keychain login.keychain
.
빌드 또는 코드 서명 작업을 다시 시도하십시오.문제의 오류 코드는 Apple의 문서 설명 에서 설명합니다.내부 오류가 있으므로 다른 경우에는이 일이 발생할 수 있습니다.
High Sierra
/ Xcode 9.4.1
에서 동일한 문제가 발생했는데, errSecInternalComponent
-
- 키 체인 액세스 로 이동
- 로그인 키 체인 로 이동
- "내 인증서"카테고리를 선택하십시오
- 가입하고있는 인증서를 찾아서 키를 보려면 확장하십시오.
- 키를 두 번 클릭하십시오
- "액세스 제어"탭으로 이동하십시오.
- 업데이트 키 액세스 제어 "모든 응용 프로그램 이이 항목에 액세스 할 수있게 해주는"
-
ssh / ci에서 로그인하려고하면
를 실행해야합니다.
.security unlock-keychain login.keychain
앱 번들에 서명하기 전에
또는
MAC 터미널에서 CODESIGN 명령을 실행하고 "항상 허용"/ USR / BIN / CODESIGN 액세스
동일한 문제를 만났습니다. 나의 MacOS를 다시 시작하고 작동합니다.
중국의 우리는 개발자 간의 말이 있습니다 :
restart.big 문제가 거의 없어야합니다.
때로는 위의 말은 당신을 크게 도울 것입니다!
다른 사람에게 도움이 되는 경우를 대비해 errSecInternalComponent
오류 codesign
내 macOS 컴퓨터에 대한 SSH 세션을 통해 실행하고 있었기 때문입니다.macOS 시스템 자체의 터미널 창에서 동일한 명령을 실행하면 작동했습니다.
아마도 이런 이유 때문인 것 같아요 codesign
로그인 키체인에서 개인 키에 액세스해야 합니다.
달리기 security unlock-keychain login.keychain
(설명대로 cbracken의 답변) 동일한 세션에서도 작동해야 합니다.
ssh 실행 명령에서 로그인하려고하면 다음을 수행하십시오.
security unlock-keychain login.keychain
.
앱 번들에 서명하기 전에
또는 UI
키 액세스 제어 업데이트 "모든 응용 프로그램 이이 항목에 액세스 할 수 있도록"
thx @ Equilibrium 및 @jon mcClung
나는 문제가 앱에 서명하는 코드와 동일한 문제가 있었다.
Opened the developer account and accepted the updated agreement and it worked.
.
i security unlock-keychain login.keychain
와 내 로그인 암호가 작동하지 않았습니다.그래서 나는 재부팅 한 다음 Xcode를 다시 실행하고 작동했습니다.명령을 실행하면 작동합니다.이상한 문제.
MAC 터미널을 사용하지만 SSH 세션에서 사용하지 않는 한 번만 시도하십시오.
security unlock-keychain login.keychain
.
프롬프트 대화 상자에서 항상 허용을 선택하십시오. 그리고 나서 원격 세션에서 xcodebuild를 할 수 있습니다.
명령 줄에있는 경우 @equilibrium에 의해 지적 된 것처럼.Jenkins (My Case)와 마찬가지로 솔루션에서 언급 한 보안 잠금 해제 명령에 암호를 전달해야 할 수도 있습니다.
사용 대신
security unlock-keychain login.keychain
.
사용 :
security unlock-keychain -p <login-keychain-password> <path-to-login-keychain>
.
PATH-to-LOGIN 키 체인은 $ home / library / keychains / login.keychain (내 경우) 또는 단순히 login.keychain
jenkins와 ssh 에서이 문제가 발생한 사람은 다음과 같습니다.
키 체인의 개인 키에 대한 액세스 권한을 부여하지 못했을 가능성이 높지만이 모든 이유가 작동하지 않는지 확실하지는 않습니다.
- 보안 가져 오기 .p12 파일 - -a 또는 -t / usr / bin / codesign
- 보안 세트 - 키 - 파티션 목록 -S Apple-Tool :, Apple :, Codesign : -s -k # {password} # {KeychainPath}
- 모든 프로비저닝 프로파일을 [uuid] .mobileProvision로 변경하고 Jenkins Server 에서 '~ / Library / MobileDevice / Provisioning \ Profiles'로 복사합니다.
- 깨끗한 파생 데이터 및 재부팅 Jenkins 서버 재부팅
- 기본 키 체인이 로그인 키 체인인지 확인하고 잠금 해제하십시오.
마침내 해결 :
1.SSH [사용자] @ [jenkinsserverip] -l 5900 : localhost : 5900, Jenkins Server
에 로그인2. open 'vnc : // localhost'
Jenkins Server 가이 작업을 허용하는 경우 원격 화면이 시작됩니다.
그런 다음 keychain.app를 열어 개인 키에 / usr / bin / codesign의 액세스 권한을 부여합니다
행운
키 체인의 코드 디자인 인증서와 연결된 개인 키를 마우스 오른쪽 버튼으로 클릭 한 다음 '모든 응용 프로그램 허용'을 클릭하면 빌드가 SSH를 통해 발생하기 때문에 빌드가 발생했기 때문입니다.
나는해야만했습니다 :
1) 프로젝트와 연결된 인증서를 삭제합니다
2) Xcode로 돌아가서 앱 인증서를 취소
3) Xcode에는 새 인증서가 필요합니다
4) 모든 키 체인 잠금
5) 프로젝트 청소
6) 재구성
.누구에게도 도움이되기를 바랍니다.