개발/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 추가
- Xcode 프로젝트 열기
Xcode에서 프로젝트를 열고, 좌측 상단의 프로젝트 파일을 선택합니다. - Build Phases로 이동
화면 상단 탭에서 Build Phases를 선택합니다. - 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 디버그 빌드 실행
- Xcode 메뉴에서 **Product > Build (⌘B)**를 실행합니다.
- 빌드가 완료되면, 결과가 로그에 출력됩니다.
2.2 빌드 로그 확인
- Xcode 상단 메뉴에서 **Report Navigator (⌘9)**를 선택합니다.
- 최근 빌드의 로그를 선택한 후, All Messages 탭에서 아래와 같은 로그를 확인합니다: