이번에 맥으로 유니티앱을 만드는 프로젝트를 진행하고 있다.
맥 OS 용 코드사이닝은 이게 헷갈리는게 많아서 좀 기록을 해두려고 한다.
진행절차는 아래와 같다.
- 준비 단계 (완료)
- ✓ Apple Developer Program 가입
- ✓ CSR 생성 및 인증서 발급받기
- ✓ installer_config.json 설정
- ✓ entitlements 파일 생성
- 인증서 설치
- developerID_application.cer 설치
- developerID_installer.cer 설치
- 키체인에서 인증서 확인
- 앱 코드 사이닝
- create_dmg.sh 스크립트가 codesign_utils.sh를 사용하여
- entitlements를 적용하여 앱 서명
- 서명 검증
- DMG 생성 및 서명
- DMG 파일 생성
- DMG 파일에 코드 사이닝
- DMG 서명 검증
- 공증(Notarization)
- 서명된 DMG를 Apple 서버로 업로드
- 공증 대기 및 확인
- 공증 완료 후 staple 처리
1.
우선 CSR 을 만든다. CSR 은 PC당 고유해서 발급이 된다.
이건 키체인관리자에서 만들 수 있다.
키체인 관리자를 열고서 상단 메뉴를 확인하면
여기에 본인 이메일 주소와 이름을 적는다.
그리고 사전에 세팅해둔 키관리 폴더에 잘 킵해둔다.
그 다음은 애플키관리자(애플의 연간 계정을 등록해서 키를 관리하는 사람) 에게
이 CSR 을 보내서 2개의 인증서를 받아야 한다.
- "Developer ID Application" 인증서
- 이것이 기본적으로 필요한 인증서입니다
- 앱 자체(.app)를 서명하는데 사용됩니다
- "Developer ID Installer" 인증서
- DMG 파일을 서명하는데 사용됩니다
- 배포용 패키지에 서명할 때 필요합니다
애플 키관리자는 내가 준 CSR 파일을 받아서
애플 사이트에서 Developer ID Application 와 Developer ID Installer 를 생성한 후 나에게 cer 파일을 전달해주게 된다.
난 처음에 여기서 실수를 좀 했는데.....(잘 몰랐음)
Mac Installer Distribution 이게 필요한 줄 알았다. 근데 아니었음. ㅠㅠ
자, 이제 인증서를 받았다고 하고 (아래 이미지처럼 잘 보관)
각 인증서를 더블 클릭에서 나의 키체인에 잘 등록해주자.
그러면 아래 이미지 처럼 나오게 될 것이다.
여기서 주의 할 점!
절대 항상 신뢰하는 인증서로 등록하지 말 것!!
이것 때문에 내가 시간을 일주일을 까먹었다.... ㅠㅠㅠㅠㅠ
절대 신뢰할 수 있는 앱으로 하지 말아야 한다. 이 설정을 지피티나 이런 애들한테 물어보면 신뢰할 수 있는 인증서로 하라고 하는데
그러면 나중에 빌드가 다 터진다.
그러면 또 원인을 다른데서 찾고.... 시간낭비 낭비 ㅠㅠ 삽질의 삽질을 거듭하게 된다 ㅠ
순서는 아래와 같이 진행했다.
(1) 나는 유니티로 앱을 빌드한 후
(2) 그 다음 쉘스크립트를 이용해서 앱코드서명을 하고
(3) DMG 파일을 생성하고
(4) DMG 서명하기
(5) DMG 공증하기
그리고 커맨드에서 하면 로그도 잘 안나와서 아에 쉘스크립트를 작성해서 진행했다.
1단계 - 앱코드 서명
2단계 - dmg 파일 만들기
3단계 - dmg 서명
4단계 - dmg 공증하기
앱코드 사이닝 검증 명령어
codesign -d -vv "/Users/폴더명/검증할앱이름.app"
위와 같이 터미널에 입력하고 아래와 같이 나오면 일단 앱 코드 사이닝은 성공한 것이다.
만약에 앱 외에
별도로 내가 만든 라이브러리들이 포함 되어야 한다면
앱 안에 아래와 같은 구조로 폴더를 포함시켜줘야 한다. (폴더를 다른데 두면 안됨)
'AI 및 IT관련' 카테고리의 다른 글
초보자를 위한 Git 명령어 가이드 (자주 쓰는 명령어 정리) (0) | 2025.03.25 |
---|---|
AI 개발툴 써본 소감 및 비교 (깃허브 코파일럿, 윈드서프(코디엄) 후기 ) (0) | 2025.03.25 |
chat gpt 사주 보기 / 챗 지피티로 사주팔자 후기 (챗gpt 사주 프롬프트 제공) (3) | 2025.02.25 |
애드센스 '사이트를 확인할 수 없습니다' (티스토리 개인도메인 사용하는 경우) 해결법 (1) | 2025.02.20 |
무료로 쓸 수 있는 AI 총정리 (1) | 2025.02.20 |