GitHub Actions에서 프로비저닝 프로필 오류 해결: "XXXX" 프로비저닝 프로필에 현재 선택된 장치 "Mac-1719908638417.local"이 포함되어 있지 않습니다.

2024-07-27

이 오류는 GitHub Actions에서 Xcode 빌드를 실행하는 동안 발생하며 프로비저닝 프로필이 현재 선택된 장치와 일치하지 않음을 나타냅니다.

해결 방법:

  1. 올바른 프로비저닝 프로필 사용:

    • 사용하려는 장치와 개발자 팀에 해당하는 프로비저닝 프로필을 사용하는지 확인하십시오.
    • 프로비저닝 프로필 UUID가 빌드 설정의 "Provisioning Profile" 필드와 정확히 일치하는지 확인하십시오.
  2. Xcode 빌드 설정 확인:

    • "Build Settings" > "Signing" > "Provisioning Profile" 섹션에서 올바른 프로비저닝 프로필이 선택되었는지 확인하십시오.
    • "Team" 선택이 올바른 개발자 팀과 일치하는지 확인하십시오.
  3. GitHub Actions 워크플로 업데이트:

    • 워크플로에서 사용하는 프로비저닝 프로필이 최신 버전인지 확인하십시오.
    • 프로비저닝 프로필을 다운로드하고 base64로 인코딩하는 과정이 정확한지 확인하십시오.
    • 워크플로의 시크릿 키가 올바르게 설정되었는지 확인하십시오.
  4. Apple 개발자 인증서 유효성 확인:

    • Apple 개발자 인증서가 유효하고 만료되지 않았는지 확인하십시오.
  5. GitHub Actions 러너 다시 시작:

    • 오류가 지속되는 경우 GitHub Actions 러너를 다시 시작하십시오.
    • 러너가 최신 버전을 실행하고 있는지 확인하십시오.
  6. 문제 지속 시 로그 확인:

    • 위의 방법을 시도해도 문제가 해결되지 않으면 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

설명:

  1. 위 코드는 main 브랜치에 push가 발생할 때마다 실행되는 build-and-test 작업을 정의합니다.
  2. download-artifact 작업을 사용하여 이전 작업에서 생성된 프로비저닝 프로필 아티팩트를 다운로드합니다.
  3. install-provisioning-profile 스크립트는 프로비저닝 프로필을 macOS 키체인에 설치하고 UUID를 가져옵니다.
  4. set-xcode-build-settings 스크립트는 Xcode 빌드 설정 파일에 프로비저닝 프로필 UUID를 설정합니다.
  5. 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

github actions cicd provisioning profile