iOS 오류 "임베디드 바이너리가 상위 앱과 동일한 인증서로 서명되지 않았습니다."
이는 IOS 애플리케이션 개발의 첫 단계로 이해할 수 없는 문제에 직면해 있습니다.
error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.
Embedded Binary Signing Certificate: Not Code Signed
Parent App Signing Certificate: iPhone Developer: Emil Adz (9QNEF95395)
이해할 수가 없네요, 임베디드 바이너리 서명 인증서란 무엇인가요?
여기서 같은 오류로 문제를 검토했지만, 여기에 제시된 문제(코드 서명 아님)와 관련된 문제는 없었습니다.
Apple Developer Member Center에서 인증서를 취소하고 다른 인증서를 요청하려고 했지만 문제가 계속 발생합니다.
어떻게 고칠 수 있는지 아는 사람?
스위프트 5. 나의 경우에 간단한 방법으로 이 스크린샷을 확인하세요 나는 끝났습니다.
내장 바이너리는 앱과 함께 배포하는 위젯을 의미합니다.
사용자의 경우, 사용자의 오류에 "Not Code Signed"(코드 서명 안 함)라고 표시되어 있으므로 서명 ID를 사용하여 위젯에 서명하지 않은 것입니다.
이 문제를 해결하려면 프로젝트 파일로 이동하여 위젯의 대상을 찾은 다음 빌드 설정 탭에서 코드 서명 ID 값을 찾습니다.메인 앱의 대상에 사용하고 있는 코드 서명 ID를 선택합니다.
또한 위젯을 릴리스할 때 위젯에 대한 프로비저닝 프로파일을 생성하고 구성해야 합니다.
스택 오버플로의 솔루션이 작동하지 않는 경우도 있습니다.그런 경우에는.
해결책
- MainApp과 EmbeddedApp 모두에서 서명(디버그), 서명(릴리스) 및 활성화 기능 섹션에 빨간색 표시/문제가 없는지 확인합니다.
- 인증서와 프로비저닝 프로파일이 모두 로그인/시스템 키체인 아래에 설치되어 있는지 확인합니다.
- 인증서가 항상 신뢰로 설정되지 않았는지 확인합니다.액세스는 Use System Default(시스템 기본값 사용)로 유지해야 합니다.
이 오류는 Today 확장 버전의 배포 대상이 상위 앱보다 최신 버전인 경우에도 표시됩니다.그들은 같은 것임에 틀림없습니다.
나는 iOS 앱을 10.0으로 설정하고 Today 확장자를 최신 버전으로 11.4로 자동 설정했습니다.이로 인해 오류가 나타납니다.확장 대상의 배포 대상을 10.0으로 변경하는 것만으로 문제가 해결되었습니다.
가정
- 제가 일하고 있는 앱은 TestApp이라고 합니다(프라이버시를 위해서).
- 아래 단계는 Xcode 11.1에서 테스트됩니다.
- 내가 컴파일 할때 사용했던 계획은 애드혹입니다.
- 앱에 푸시 알림 기능이 있습니다.
쟁점.
저의 경우 두 대상자의 서명이 불일치하여 문제가 발생하였습니다.문제는 다음과 같습니다.
- TestApp 대상(즉, 오류에서 상위 App Signing Certificate라고 하는 대상)
- 통지 서비스확장 대상(즉, 오류에서 Embedded Binary Signing Certificate라고 하는 항목)입니다.
결의안
AdHoc 방식에서 TestApp 대상 아래에서 프로비저닝 프로파일과 인증서를 지정하고 싶어서 자동 서명을 해제했습니다.
제가 수행한 단계는 다음과 같습니다.
- 부터
Signing & Capabilities -> AdHoc -> Signing (section)- 선택한 아래 서명 자동 관리에서 체크 표시 제거
- 사용할 프로비저닝 프로파일을 선택했습니다.
- 부터
Build Settings -> Signing (section)- 아래
Code Signing Identity, 양자택일AdHoc그리고.Any SDK내가 사용하고 싶었던 증명서 - 아래
Code Signing Style -> AdHoc, Manual(수동)을 선택했습니다. - 아래
Provisioning Profile -> AdHoc, 사용할 프로비저닝 프로파일 선택(즉, 1.2 단계와 동일)
- 아래
Notification Service에 동일한 설정을 적용하지 않아 오류가 발생했습니다.확장 대상(아직도 자동 서명을 사용 중이므로 다른 인증서).이 대상에 대해서도 위의 단계를 반복하자 마자 오류가 사라졌습니다.
누군가에게 도움이 될 수 있기를 바랍니다. 왜냐하면 이 실수가 저를 미치게 했기 때문입니다!
xcode 10에서 이 문제가 나타나고 해상도가 위와 다른 것 같습니다.
빌드 시스템을 레거시(Legacy)로 설정하여 오류를 수정(또는 우회)할 수 있었습니다(File > Workspace Settings).
또 다른 흥미로운 점은 실제 장치로 빌드하는 경우(예: 빌드 시스템을 레거시로 변경하기 전) 서명 오류가 발생하지 않는다는 것입니다.시뮬레이터를 사용하여 빌드할 때와 Xcode 10 베타 3, 4, 5에서만 발생합니다.
원본 스레드 링크: https://forums.developer.apple.com/thread/105537
Xcode 10으로 마이그레이션한 후 Watch 대상에 대한 "Build Settings"> "Valid Architectures"의 아키텍처를 업데이트하여 이 문제를 해결할 수 있었습니다.
$(ARCHS_STANDARD)
이 스레드는 저에게 많은 도움을 주었습니다: https://forums.developer.apple.com/thread/107563
이상하게도 이 오류를 수정하기 위해 프로젝트에서 제품 폴더를 제거해야 했습니다.Xcode는 다시 시작한 후에, 아주 매력적으로 작동했습니다!
개발자 포털의 모든 앱 ID에 앱 그룹이 올바르게 설정되지 않았을 때 이 오류가 발생했습니다.따라서 앱의 앱 그룹이 올바르게 작동하지 않았고 확장용 바이너리 또는 워치킷 앱에 서명할 수 없었습니다.
제외된 아키텍처 확인
스위프트를 따를 때 문제가 있었습니다.iOS 앱과 와치 통합에 관한 UI 설명서OS.
문제는 확장자가 같은 개발팀 소속이 아니기 때문에 컴파일을 시도하면 실패한다는 것입니다.
건축에 관한 것도 신뢰에 관한 것도 없습니다.
해결책: xcode용 스크린샷
- 프로젝트 일반 파일로 이동
- 사이드바 확장 폴더 확인 (스크린샷 2번 확인)
- 서명 및 기능 탭으로 전환
- 팀 선택(마스터 프로젝트 개발팀과 일치해야 함)
a를 추가한 후에 이 오류가 발생했습니다.Copy Files메인 앱 Target에 단계를 빌드합니다.
파일 복사
상:Absolute Path
로:/Applications
일:MyApp.app
처음 앱을 실행했을 때 이것이 작동했습니다.
이후의 실행에서 Xcode는 인증서 불일치에 대한 불만을 제기하기 시작했습니다.
Copy Files 빌드 단계를 제거하면 인증서 불일치가 해결됩니다.오류 없이 파일을 복사할 수 있는 방법을 아직 찾고 있습니다.
동일한 이슈 링크:
- https://stackoverflow.com/a/32802258/1265393
- https://forums.developer.apple.com/thread/102707
- https://github.com/Bouke/SwiftInitializerGenerator/issues/6
제 코드에 또 다른 컴파일 시간 오류가 발생하는 동안 이 오류가 발생했습니다.
제 새로운 목표는 지금까지 만들어 본 적이 없습니다.
그래서 이 오류를 먼저 고치려고 생각했습니다.그러나 다른 오류를 수정하면 Xcode가 타겟을 구축하고 다른 오류 자체를 수정할 수 있다는 것이 밝혀졌습니다.
사진 편집 확장 프로그램에서 이 문제가 발생했습니다.저는 결국 그것이 저의 특이한 프로젝트 구조 때문이라는 것을 알게 되었습니다.
- 나의 프로젝트는 appex(앱 확장)를 위한 모든 소스 코드와 리소스를 포함하는 로컬 스위프트 패키지를 포함합니다.
- Appex는 Swift 패키지가 만든 라이브러리를 연결합니다.
- apex에는 자체 소스 파일이 없습니다."Compile Sources" 빌드 단계에는 파일이 없으며 "Copy Bundle Resources" 빌드 단계도 없습니다.
깨끗한 빌드에서 Xcode는 appex를 빌드하고 appex에 성공적으로 내장합니다.
증분 빌드에서 파일을 변경하지 않더라도 "Validate MyEx.appex" 단계에서 Xcode가 실패합니다.
문제는 Xcode가 아무것도 변하지 않았더라도 빌드할 때마다 apex 실행 파일을 다시 링크한다는 것입니다.그리고 Xcode는 클린 빌드 중을 제외하고는 새로운 appex 실행 파일에 서명하지 않습니다.
즉, Appex 실행 파일은 항상 증분 빌드 후에 서명되지 않으므로 상위 App과 동일한 인증서로 서명되지 않습니다(appex가 전혀 서명되지 않았기 때문에).
내 해결책은 빈 파일을 추가하는 것이었습니다.dummy.swift, 아펙스 타겟으로.이로써 Xcode는 필요할 때만 apex를 다시 연결하고, 점진적 빌드 중에 apex를 연결한 후에는 항상 apex에 서명하는 것으로 충분합니다.
하나의 신호 또는 다른 신호와 같은 대상이 더 있는지 확인하고 동일한 주 대상 팀이 있는지 확인합니다.
Xcode 11에서 WatchOS 앱을 빌드하는 동안 오류가 발생했습니다. 이 게시물과 다른 SO 게시물의 다양한 제안을 모두 시도했지만 마침내 작동한 것은 Xcode를 레거시 빌드 시스템을 사용하도록 전환하는 것이었습니다.
이동: 파일 | 프로젝트(또는 워크스페이스) 설정 | 시스템 빌드
그리고 레거시 빌드 시스템을 선택합니다.
X코드 12.5
저 같은 경우는 쉐이크엘 아흐메드의 대답을 따라 했습니다.하지만 포드 파일에서도 이 변경 작업을 수행해야 했습니다.
자세한 내용은 여기 https://github.com/facebook/react-native/issues/31480#issue-876308920 에서 확인할 수 있습니다.
저는 유니티에서 이와 같은 문제를 경험한 적이 있습니다.아이폰 프로젝트.우리는 앱과 함께 발송되는 스티커 확장 대상을 포함합니다.
스티커 확장 대상은 코드 기호 설정이 상위 앱과 일치하지 않는다는 불만을 제기하는 대상입니다.
error: Embedded binary is not signed with the same certificate as the parent app. Verify the embedded binary target's code sign settings match the parent app's.
Embedded Binary Signing Certificate: Software Signing
Parent App Signing Certificate: Apple Distribution
이 문제는 스티커 확장 대상 빌드 설정이 ARCHS_STANDARD(arm7, arm64)로 설정된 반면 상위 앱은 arm64로 설정된 경우에 발생했습니다.
Extension의 ARCHS 빌드 속성을 arm64로 설정하여 수정했습니다.
그림을 보세요. 이 출력은 여러 가지 문제를 포착하고 로그 메시지에 세부 정보를 지정하지 않은 것 같습니다.
키체인 액세스 만료 인증서가 삭제되지 않았는지 확인하여 오류를 표시합니다.
제 경우에는 '제품' 폴더를 삭제하는 것이 관건이었습니다.그런 다음 빌드가 성공적이었습니다.게다가 그 후로 나는.git reset --hard그리고 같은 성공적인 결과로 다시 시도했습니다.
언급URL : https://stackoverflow.com/questions/27906188/ios-error-embedded-binary-is-not-signed-with-the-same-certificate-as-the-parent
'programing' 카테고리의 다른 글
| 정의되지 않은 참조/해결되지 않은 외부 기호 오류는 무엇이며 어떻게 수정합니까? (0) | 2023.10.28 |
|---|---|
| j부모의 부모 쿼리 (0) | 2023.10.28 |
| C의 함수 인수로 포인터 (0) | 2023.10.28 |
| Chart.js의 파이 차트에서 이벤트를 클릭 (0) | 2023.10.28 |
| 글꼴(@font-face)이 이미 로드되었는지 어떻게 알 수 있습니까? (0) | 2023.10.28 |






