티스토리 뷰

안녕하세요.

요즘 xcframework 에 대해 공부중인데

Xcode 15 부터는 xcframework의 서명을 확인할수있다고 하더라고요. 

https://developer.apple.com/videos/play/wwdc2023/10061/

 

Verify app dependencies with digital signatures - WWDC23 - Videos - Apple Developer

Discover how you can help secure your app's dependencies. We'll show you how Xcode can automatically verify any signed XCFrameworks you...

developer.apple.com

실제로 Xcode 안에 xcframework 파일을 넣고 눌러보면

아래처럼 빨간 칸이 있는데 여기 서명값이 있으면 서명한게 보인다고 하더라고요.

빨간색 보이세요?

 

저는 지금까지 framework 를 만들어 본 적이 없어서 

Xcode 설정에 있는 계정 인증서가 그대로 들어가는 줄 알았는데 

네 아니더라고요.

그대로

위처럼 나와서 알아봤더니 터미널에다가 쳐서 하는거더라고요. 

https://developer.apple.com/documentation/xcode/creating-a-multi-platform-binary-framework-bundle

 

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.

developer.apple.com

요 위 사이트에 나와있긴한데 

정리하면 

일단 아래와 같은 형식으로 명령어를 입력하면 된다고 하십니다.

% codesign --timestamp -s <identity> xcframeworks/MyLibrary.xcframework

 

저기 <identity> 라고 적힌 곳에 인증서를 넣으면 된다고 합니다. 

 

애플 왈 

- 서명하려면 iOS Distribution 이나 iOS App Development identity 을 이용해야한다.

- 전체를 입력해도 되고 서명ID를 구분하는 문자열을 넣어도 된다.

-> 그런데 인증서 전체를 입력하기도 번거롭고 어느 인증서가 맞는지도 애매해서

-> 저는 아래처럼 ID 를 구분하는 문자열을 입력하는 방향으로 했습니다.

codesign --timestamp -s AAAABBCCCD FrameTest.xcframework

// AAAABBCCCD 에 각자 고유 코드를 넣어주세요!
// FrameTest 에 XCframework 이름을 넣어주세요!

* 문자열은 어디서 확인하나요?

- 여러분들 키체인에 보시면 Apple Discription : 회사이름 (코드) 가 있을텐데 여기 코드가 문자열입니다. 

- 혹은 여러분들 Apple Developer 들어가서 로그인하시면 멤버십 세부사항있습니다. 

- 여기 있는 팀 ID를 복사하여 넣어주시면 서명이 가능합니다.

- 아래 링크 들어가서 로그인 후 스크롤을 아래로 내리면 보입니다! 

https://developer.apple.com/account

팀 ID 로 서명이 가능합니다.

 

이렇게 서명해서 실제 프로젝트에서 다시 확인하면 아래처럼 보이게 됩니다.

서명끝!

 

* 주의 

- 서명할때 사용한 인증서가 만료 혹은 폐기되면 코드 빌드할때 문제가 생긴다고 합니다. 

- 즉 인증서가 정말정말 중요하다는 겁니다!!

- 그러니 인증서가 바뀌어야하면 XCframework도 바뀐 걸로 다시 서명후 배포해야됩니다.

 

서명하는 방법을 몰라서 저처럼 고민중인 분들을 위해 

올려봅니다. 

 

그럼 오늘도 파이팅입니다. 

댓글