GitHub Actions에서 프로비저닝 프로필 오류 해결: "XXXX" 프로비저닝 프로필에 현재 선택된 장치 "Mac-1719908638417.local"이 포함되어 있지 않습니다.
2024-07-27
이 오류는 GitHub Actions에서 Xcode 빌드를 실행하는 동안 발생하며 프로비저닝 프로필이 현재 선택된 장치와 일치하지 않음을 나타냅니다.
해결 방법:
-
올바른 프로비저닝 프로필 사용:
- 사용하려는 장치와 개발자 팀에 해당하는 프로비저닝 프로필을 사용하는지 확인하십시오.
- 프로비저닝 프로필 UUID가 빌드 설정의 "Provisioning Profile" 필드와 정확히 일치하는지 확인하십시오.
-
Xcode 빌드 설정 확인:
- "Build Settings" > "Signing" > "Provisioning Profile" 섹션에서 올바른 프로비저닝 프로필이 선택되었는지 확인하십시오.
- "Team" 선택이 올바른 개발자 팀과 일치하는지 확인하십시오.
-
GitHub Actions 워크플로 업데이트:
- 워크플로에서 사용하는 프로비저닝 프로필이 최신 버전인지 확인하십시오.
- 프로비저닝 프로필을 다운로드하고 base64로 인코딩하는 과정이 정확한지 확인하십시오.
- 워크플로의 시크릿 키가 올바르게 설정되었는지 확인하십시오.
-
Apple 개발자 인증서 유효성 확인:
- Apple 개발자 인증서가 유효하고 만료되지 않았는지 확인하십시오.
-
GitHub Actions 러너 다시 시작:
- 오류가 지속되는 경우 GitHub Actions 러너를 다시 시작하십시오.
- 러너가 최신 버전을 실행하고 있는지 확인하십시오.
-
문제 지속 시 로그 확인:
- 위의 방법을 시도해도 문제가 해결되지 않으면 GitHub Actions 워크플로 로그를 확인하십시오.
- 오류 메시지에서 추가적인 단서를 찾을 수 있습니다.
참고 자료:
추가 정보:
- 이 오류는 다양한 요인으로 인해 발생할 수 있으며, 위에 제시된 해결 방법 외에도 다른 해결 방법이 있을 수 있습니다.
- 문제 해결에 어려움을 겪고 있다면 GitHub Actions 커뮤니티 포럼 또는 Apple 개발자 지원에 문의하십시오.
예제 코드: GitHub Actions에서 프로비저닝 프로필 사용
name: iOS 빌드 및 테스트
on:
push:
branches: [ main ]
jobs:
build-and-test:
runs-on: macos-latest
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Download provisioning profile
uses: actions/download-artifact@v2
with:
name: provisioning-profile
- name: Install provisioning profile
run: |
security import ./provisioning-profile.p12 -keychain keychain-file.keychain
# Get UUID of the installed provisioning profile
provisioning_profile_uuid=$(security find-identity -p keychain-file.keychain -c 'iPhone Developer')
# Set the provisioning profile UUID in the Xcode build settings
export PROVISIONING_PROFILE_UUID="$provisioning_profile_uuid"
- name: Set Xcode build settings
run: |
echo "PROVISIONING_PROFILE_UUID=$PROVISIONING_PROFILE_UUID" >> build-settings.xcconfig
- name: Build and test with Xcode
run: |
xcodebuild -project MyApp.xcodeproj -scheme MyApp -configuration Release
xcodebuild -test-without-building -project MyApp.xcodeproj -scheme MyApp -configuration Release
설명:
- 위 코드는
main
브랜치에 push가 발생할 때마다 실행되는build-and-test
작업을 정의합니다. download-artifact
작업을 사용하여 이전 작업에서 생성된 프로비저닝 프로필 아티팩트를 다운로드합니다.install-provisioning-profile
스크립트는 프로비저닝 프로필을 macOS 키체인에 설치하고 UUID를 가져옵니다.set-xcode-build-settings
스크립트는 Xcode 빌드 설정 파일에 프로비저닝 프로필 UUID를 설정합니다.build-and-test
스크립트는 Xcode를 사용하여 프로젝트를 빌드하고 테스트합니다.
주의:
- 위 코드는 예시이며 실제 사용 환경에 따라 변경해야 할 수도 있습니다.
- 프로비저닝 프로필을 다운로드하고 설치하는 단계는 GitHub Actions 시크릿 키를 사용하여 보안을 강화해야 합니다.
- Xcode 빌드 설정 및 테스트 명령은 사용하는 프로젝트 및 요구 사항에 따라 다를 수 있습니다.
GitHub Actions에서 프로비저닝 프로필 문제 해결: 대체 방법
인증서 기반 빌드 사용:
- 프로비저닝 프로필 대신 인증서 기반 빌드를 사용하면 장치와 일치하는 프로비저닝 프로필을 찾지 않아도 됩니다.
- 이 방법은 Xcode 11 이상에서 사용할 수 있으며, 다음 단계를 수행해야 합니다.
- Apple 개발자 계정에서 인증서를 다운로드하고 설치합니다.
- Xcode 빌드 설정에서 "Code Signing Identity"를 "Auto"로 설정합니다.
- 참고: 인증서 기반 빌드는 프로비저닝 프로필보다 보안성이 떨어질 수 있으므로 주의해서 사용해야 합니다.
Fastlane 또는 AppCenter와 같은 CI/CD 도구 사용:
- Fastlane 또는 AppCenter와 같은 다른 CI/CD 도구를 사용하여 Xcode 빌드 및 테스트를 자동화할 수 있습니다.
- 이러한 도구는 종종 프로비저닝 프로필 관리와 같은 추가 기능을 제공하며, GitHub Actions보다 사용하기 쉬울 수 있습니다.
수동 빌드 및 테스트:
- 문제가 지속되는 경우 Xcode를 사용하여 수동으로 프로젝트를 빌드하고 테스트할 수 있습니다.
- 이는 가장 빠른 방법은 아니지만, 문제의 근본 원인을 파악하는 데 도움이 될 수 있습니다.
GitHub Actions 커뮤니티 포럼 또는 Apple 개발자 지원에 문의:
- 여전히 문제를 해결할 수 없는 경우 GitHub Actions 커뮤니티 포럼 또는 Apple 개발자 지원에 문의하여 도움을 받을 수 있습니다.
- 다른 사용자들이 유사한 문제를 해결한 방법에 대한 정보를 찾을 수 있을 뿐만 아니라, Apple 개발자로부터 직접적인 지원을 받을 수도 있습니다.
- 위에 제시된 대체 방법은 모두 장단점이 있습니다.
- 상황에 가장 적합한 방법을 선택하는 것이 중요합니다.
- 프로비저닝 프로필 및 인증서를 사용할 때는 항상 Apple의 최신 보안 권장 사항을 따르십시오.
추가 정보:
github-actions cicd provisioning-profile