iOS

Verifying the origin of your XCFrameworks

Phililip
728x90

안녕하세요.

 

xcframework 검증과 관련된 공식 문서를 읽고 정리할게요.

 


# 1. Code Signing Identity

xcframework를 선택하면 Xcode 15 이상 Inspector에서 code signing(서명) 상태를 볼 수 있어요.

 

 

만약 자체 code signing identity로 서명한 경우, Inspector에서 서명에 대한 SHA-256 fingerprint를 볼 수 있습니다.

 

 

# 2. Code Signature 변경

xcframework의 서명은 변경될 수 있어요.

예시 1) 기존 SDK 제공 업체가 SDK의 소유권을 다른 조직에 양도하고, 해당 조직의 팀 ID로 서명된 새 버전을 배포하는 경우
예시 2) 배포된 xcframework를 직접 빌드하고 사명하는 경우

 

Inspector에서는 서명이 변경되었다는 사실을 알 수 있습니다. 이때 빌드하면 빌드 에러가 발생합니다.

 

 

만약 서명 정보가 바뀐 것이 의도된 것이라면 'Accept Change' 버튼을 클릭하여 xcframework를 교체합니다.

 

 

하지만 의도치 않은 서명 정보 변경이라면, 'Move to Trash' 버튼을 누르고 이전 프레임워크로 복원하거나 프레임워크를 제거합니다.

 

# 3. 서명을 삭제한 경우

또한 서명이 삭제된 경우에도 Inspector에서 확인이 가능하며 빌드 중에 에러가 발생합니다.

 

 

만약 xcframework가 앞으로 서명을 지원하지 않을 것으로 판단된다면 ‘Accept Change’ 버튼을 누르세요.

 

 

# 4. 궁금한 것들

[참고] 만료되거나 revoked 된 인증서로 서명한 경우

xcframework를 만료된 또는 revoked 된 code signing identity로 서명한 경우, 실제로 identity가 변경되지 않았어도 Xcode에서 경고를 발생시킵니다.
이런 경우, SDK 개발자에게 문의하세요.
[주의] 서명에 사용된 인증서를 revoke 시킨 경우

인증서를 revoke 하면 해당 인증서로 서명된 xcframework를 사용하는 프로젝트에서 빌드 에러가 발생시킵니다.
이 경우, revoked 되지 않은 새로운 인증서로 재서명 후 재배포해야 합니다.

 

# 참고

 

Verifying the origin of your XCFrameworks | Apple Developer Documentation

Discover who signed a framework, and take action when that changes.

developer.apple.com

 

Creating a multiplatform binary framework bundle | Apple Developer Documentation

Combine variants of a binary framework or library into an XCFramework bundle that supports multiple platforms.

 


이번 글은 여기서 마무리.

 

 

 

반응형