Secret Key를 관리하는 방법 고안

.xcconfig 파일을 이용해서 Secret Key를 저장하고, plist에 저장하는 방법으로 코드로 접근이 가능함. 하지만 xcconfig를 Git에다가 올릴수는 없음.

Git에서 올릴수 없기떄문에 Xcode Cloud 에서도 이 Secret Key가 뭔지 모름,, 그래서

ci_post_script.sh 에서 xcconfig 파일을 직접 만들어서 넣는 방법밖에 떠오르지 않았음.

두가지 설정해줘야 됨

  1. 로컬에서 각자 생성하기 , iOS-to.duck/Configurations/Debug.xcconfig 와 Release.xcconfig

    SERVER_URL = www.example.com
    API_KEY = example_api_key
    
    CODE_SIGN_IDENTITY = Apple Development
    CODE_SIGN_STYLE = Manual
    DEVELOPMENT_TEAM = Y6Z9S947T8
    PROVISIONING_PROFILE_SPECIFIER = 22faeeb8-fab1-48b6-adad-1c06b7db9199
    PRODUCT_BUNDLE_IDENTIFIER = to.duck.toduck
    PRODUCT_NAME = toduck
    
  2. xcode cloud 에서 환경 변수 설정 → ci_post_script.sh 에서 해당 환경 변수

Untitled

ci_post_script.sh 에 조금 추가됌


# *.xcconfig 파일이 생성될 폴더 경로
FOLDER_PATH="/Volumes/workspace/repository/Configurations"
# 폴더가 없으면 생성
mkdir -p "$FOLDER_PATH"
# *.xcconfig 파일 이름
DEBUG_CONFIG_FILENAME="Debug.xcconfig"
RELEASE_CONFIG_FILENAME="Release.xcconfig"

DEBUG_CONFIG_FILE_PATH="$FOLDER_PATH/$DEBUG_CONFIG_FILENAME"
RELEASE_CONFIG_FILE_PATH="$FOLDER_PATH/$RELEASE_CONFIG_FILENAME"

echo "Updating $DEBUG_CONFIG_FILE_PATH..."
{
    echo "SERVER_URL = $SERVER_URL"
    echo "API_KEY = $API_KEY"
    echo "CODE_SIGN_IDENTITY = Apple Development"
    echo "CODE_SIGN_STYLE = Manual"
    echo "DEVELOPMENT_TEAM = $DEVELOPMENT_TEAM"
    echo "PROVISIONING_PROFILE_SPECIFIER = $PROVISIONING_PROFILE_SPECIFIER"
    echo "PRODUCT_BUNDLE_IDENTIFIER = $PRODUCT_BUNDLE_IDENTIFIER"
    echo "PRODUCT_NAME = toduck"
} >> "$DEBUG_CONFIG_FILE_PATH"

echo "Updating $RELEASE_CONFIG_FILE_PATH..."
{
    echo "SERVER_URL = $SERVER_URL"
    echo "API_KEY = $API_KEY"
    echo "CODE_SIGN_IDENTITY = Apple Development"
    echo "CODE_SIGN_STYLE = Manual"
    echo "DEVELOPMENT_TEAM = $DEVELOPMENT_TEAM"
    echo "PROVISIONING_PROFILE_SPECIFIER = $PROVISIONING_PROFILE_SPECIFIER"
    echo "PRODUCT_BUNDLE_IDENTIFIER = $PRODUCT_BUNDLE_IDENTIFIER"
    echo "PRODUCT_NAME = toduck"
} >> "$RELEASE_CONFIG_FILE_PATH"

echo "=================================================================="
echo "CONFIG FILE >>"
cat $DEBUG_CONFIG_FILE_PATH
echo "=================================================================="

workflow 환경변수 설정

Untitled

xcode cloud log

Untitled