개발/iOS

Xcode에서 Provisioning Profile의 해시 값 계산 및 출력 방법

D_Da 2024. 11. 26. 10:46

 

앱 개발 중 디버그 환경에서 embedded.mobileprovision 파일의 SHA512 해시 값을 계산하고 출력하는 방법을 설명합니다. 이 해시 값은 앱의 무결성 확인이나 보안 검증을 위해 사용할 수 있습니다.

 

1. Run Script Phase 설정

빌드 과정에서 자동으로 해시 값을 계산하고 로그에 출력하려면 Xcode의 Run Script Phase를 사용합니다. 아래 단계에 따라 설정하세요.

1.1 Run Script Phase 추가

  1. Xcode 프로젝트 열기
    Xcode에서 프로젝트를 열고, 좌측 상단의 프로젝트 파일을 선택합니다.
  2. Build Phases로 이동
    화면 상단 탭에서 Build Phases를 선택합니다.
  3. Run Script 추가
    하단의 + 버튼을 클릭한 후, New Run Script Phase를 선택합니다.

 

1.2 스크립트 작성

추가된 Run Script 박스에 아래 코드를 작성합니다.

# Provisioning 파일 경로 설정
PROVISIONING_FILE="${BUILT_PRODUCTS_DIR}/${TARGET_NAME}.app/embedded.mobileprovision"

# 파일이 존재하는지 확인
if [ -f "$PROVISIONING_FILE" ]; then
    echo "embedded.mobileprovision found at $PROVISIONING_FILE"
    
    # SHA512 해시 계산
    HASH=$(shasum -a 512 "$PROVISIONING_FILE" | awk '{print $1}')
    echo "Provisioning profile hash: $HASH"
else
    echo "embedded.mobileprovision file not found at $PROVISIONING_FILE"
fi

 

 

실제 xcode에 작성은 아래와 같이 하게 됩니다. 

1.3 Run Script Phase 옵션 확인

  • "For install builds only": 체크 해제
    → 디버그 빌드에서도 실행되도록 설정합니다.
  • "Based on dependency analysis": 체크
    → 필요할 때만 실행되도록 설정합니다.

1.4 Run Script Phase 위치 조정

  • Run Script Phase는 Compile Sources 또는 Link Binary With Libraries 단계 이후에 배치하는 것이 좋습니다.
  • 위치를 변경하려면, Run Script Phase를 클릭한 상태에서 드래그하세요.

 

2. 디버그 환경에서 해시 값 출력

2.1 디버그 빌드 실행

  1. Xcode 메뉴에서 **Product > Build (⌘B)**를 실행합니다.
  2. 빌드가 완료되면, 결과가 로그에 출력됩니다.

2.2 빌드 로그 확인

  1. Xcode 상단 메뉴에서 **Report Navigator (⌘9)**를 선택합니다.
  2. 최근 빌드의 로그를 선택한 후, All Messages 탭에서 아래와 같은 로그를 확인합니다: