macOS 애플리케이션 서명
Follow this workflow to sign and notarize your macOS application during the build process.
읽는 시간 2분최근 업데이트: 한 달 전
빌드 프로세스 중에 Unity Build Automation에서 macOS 애플리케이션을 공증하고 스테이플링할 수 있습니다. 이렇게 하면 애플리케이션이 macOS 공증 요구 사항을 충족합니다. 참고: Mac 앱 스토어 통해 애플리케이션을 배포하려면 공증하지 않아도 됩니다. Mac 앱 스토어의 업로드 프로세스에는 공증과 유사한 콘텐츠 검증 절차가 포함되어 있습니다. 자세한 내용은 Mac 앱 스토어에 배포를 참고하십시오.
Apple 디바이스에서 개발자 ID 인증서 생성
Apple 디바이스에서 개발하는 경우 Unity Build Automation을 설정하여 애플리케이션을 공증하고 스테이플링할 수 있습니다. 요구 사항을 충족하려면 다음 단계를 따릅니다.- 개발자 ID 인증서를 생성하여 키체인에 추가합니다. 이를 수행하는 방법에 대한 자세한 내용은 서명 ID를 참고하십시오.
- 키체인에서 개발자 ID 인증서를 개인 정보 교환() 포맷의 파일로 익스포트합니다. 이를 수행하는 방법에 대한 자세한 내용은 Mac의 키체인 액세스를 사용하여 키체인 항목 임포트 및 익스포트를 참고하십시오.
.p12 - Apple 개발자 계정을 통해 공급자 약칭을 가져옵니다.
- Membership Details로 이동하여 팀 ID를 찾습니다. 팀 ID를 제공자 약칭으로 사용할 수 있습니다.
Windows나 Linux 디바이스에서 개발자 ID 인증서 생성
Windows나 Linux에서 개발하는 경우 Unity Build Automation을 설정하여 애플리케이션을 공증하고 스테이플링할 수 있습니다. 요구 사항을 충족하려면 다음 단계를 따릅니다.- 개발자 ID 인증서를 생성하고 다운로드합니다. 이를 수행하는 방법에 대한 자세한 내용은 서명 ID를 참고하십시오.
- 개발자 ID 인증서를 PKCS #12 개인 정보 교환(.p12) 파일 포맷으로 변환합니다. 이를 수행하는 방법에 대한 자세한 내용은 Windows 및 Linux에서 개발자 ID 인증서를 .p12 파일로 변환을 참고하십시오.
- Apple 개발자 계정을 통해 공급자 약칭을 가져옵니다.
- Membership Details로 이동하여 팀 ID를 찾습니다. 팀 ID를 제공자 약칭으로 사용할 수 있습니다.
Windows 및 Linux에서 개발자 ID 인증서를 .p12 파일로 변환
.p12- 커맨드 라인 인터페이스를 열고 개발자 ID 인증서 파일이 있는 디렉토리로 이동합니다. 개발자 ID 인증서를 다운로드하지 않았다면 서명 ID를 참고하십시오.
-
개발자 ID 인증서에서는 파일 포맷을 사용합니다. 이 파일을
.cer파일 포맷으로 변환합니다. 이렇게 하려면 다음 위치에 있는 커맨드를 실행합니다..pem- 는 변환할 개발자 ID 인증서 파일입니다.
developer_identity.cer - 은 출력할 파일 이름과 파일 유형입니다.
developer_identity.pem
openssl x509 -in developer_identity.cer -inform DER -out developer_identity.pem -outform PEM -
새 프라이빗 키를 생성합니다. 이렇게 하려면 다음 위치에 있는 커맨드를 실행합니다.
- 는 출력할 프라이빗 키의 파일 이름입니다.
mykey.key
openssl genrsa -out mykey.key 2048 -
파일을 생성합니다. 이렇게 하려면 다음 위치에 있는 커맨드를 실행합니다.
.p12- 는 3단계에서 생성한 프라이빗 키 파일입니다.
mykey.key - 은 2단계에서 생성한
developer_identity.pem파일입니다..pem
openssl pkcs12 -export -inkey mykey.key -in developer_identity.pem -out iphone_dev.p12
애플리케이션 비밀번호 생성
애플리케이션을 공증하려면 Apple ID와 특정 포맷의 앱별 고유한 비밀번호가 필요합니다. 애플리케이션 비밀번호를 생성하는 방법에 대한 자세한 내용은 앱별 비밀번호 생성 방법(Apple)을 참고하십시오. 생성한 비밀번호에는xxxx-xxxx-xxxx-xxxxUnity Build Automation에서 공증
Unity Build Automation에서 macOS 애플리케이션을 공증하려면 다음 단계를 따릅니다.- Unity Dashboard에서 DevOps를 엽니다.
- Build Automation > Configurations를 선택합니다.
- Target setup 버튼을 클릭합니다.
- Mac desktop Universal 빌드 타겟을 선택합니다.
- Credentials 섹션에서 Xcode 버전을 선택합니다.
- Enable OSX notarization in Unity Build Automation을 활성화합니다.
- 번들 ID를 추가합니다. 애플리케이션을 코드 서명할 때 사용되는 애플리케이션 식별자입니다.
- Add new provisioning credentials (for release) 를 선택합니다.
참고: 이전에 동일한 조직에 대해 Unity Build Automation에 공증 자격 증명 세트를 제공한 경우 드롭다운 목록에서 해당 자격 증명을 선택할 수 있습니다. - 다음 세부 정보를 입력합니다.
프로퍼티 | 설명 |
|---|---|
| Name | 자격 증명의 이름을 입력합니다. 동일한 조직에서 설정한 추가 프로젝트에 이러한 자격 증명을 사용할 수 있습니다. |
| p12 File | 이전 플랫폼별 단계에서 생성한 |
| p12 Password | |
| Entitlements File(선택 사항) | 권한 파일을 업로드합니다. 권한 파일을 업로드하지 않으면 Unity Build Automation은 macOS 애플리케이션이 강화된 런타임을 사용하는 데 필요한 최소한의 권한을 사용합니다. 이러한 최소한의 권한에 대한 정보는 권한을 참고하십시오. |
| Provider Short Name | 이전 플랫폼별 단계에서 제공자 약칭을 입력합니다. Apple ID가 2개 이상의 조직과 연결되어 있고 이를 추가하지 않으면 공증이 완료되지 않습니다. 참고: Unity Build Automation에서 공증할 경우 항상 제공자 약칭을 사용하는 것이 좋습니다. |
| Apple ID Username | Apple ID 사용자 이름을 입력합니다. |
| Apple ID Password | 애플리케이션별 Apple ID 비밀번호를 입력합니다. Unity Build Automation은 빌드를 공증하기 전까지 Apple 자격 증명을 검증하지 않습니다. |
| Confirm your Apple ID Password | Apple ID 비밀번호를 입력합니다. |
- 설정을 저장합니다.
- 나머지 빌드 타겟 구성 옵션이 완료되었는지 확인합니다.
- Mac desktop Universal 빌드 타겟용 빌드를 시작합니다.
--deep --force --verify --verbose --timestamp --options runtimecodesign환경 변수
다음 환경 변수를 빌드 구성에서 사용할 수 있습니다. 이를 사용하려면 Advanced Settings > Environment Variables로 이동하여 새 변수를 추가합니다.프로퍼티 | 값 | 설명 |
|---|---|---|
| FASTLANE_NOTARIZE_VERBOSE | True | 애플리케이션을 공증할 때 추가 로그 출력을 포함하도록 |
| FL_NOTARIZE_USE_NOTARYTOOL | False | 공증용 notarytool 대신 altool을 사용하도록 |