2012-12-06 2 views
2

나는이 주제에 대해 여러 번 논란이 있었지만 모든 정보를 찾지 못했습니다.iOS : 빌드 및 보관 명령 줄 도구 만들기

저는 프로젝트를 만들고 보관하는 외부 스크립트를 만들고 있습니다.
herehere이라는 좋은 설명서를 찾았지만 ${PROJECT_NAME}, ${TARGET_SDK} 등과 같이 xcode 변수를 얻는 방법을 알 수 없습니다.

는 또한 그 바르 소싱에 대한 흥미로운 일이 될 수있는이 줄을 보았다

."$WORKSPACE/autobuild/build.config" 

을하지만 난 내 Mac에있는 "자동 빌드"폴더도 "build.config"파일을 찾을 수 없습니다.

...

어떤 생각을 난 내가 뭔가 straitforward를 놓친 느낌이 있지만, 내가 무엇을 몰라?

+0

이미 이러한 도구가 있습니다. 그것은 '메이크 (make)'라고 불립니다. –

+0

웃기다. 컴파일하는 법을 알고 프로젝트 구성 파일에 vars를 저장하려고합니다. – Martin

답변

4

XCode 환경 설정을 통해 XCode 명령 줄 도구를 설치했는지 확인하십시오.

그럼, 제가 사용하는 것은 간단한 쉘 스크립트입니다 :

#!/bin/sh 
source "build.cfg" 

xcodebuild -target "${XCODE_BUILD_TARGET}" -sdk "${XCODE_BUILD_SDK}" -configuration Release CODE_SIGN_IDENTITY="${XCODE_BUILD_CODE_SIGN_AUTHORITY}" 
EXIT_CODE=$? 
if [ ! $EXIT_CODE -eq 0 ];then 
    exit $EXIT_CODE 
fi 

xcrun -sdk "${XCODE_BUILD_SDK}" PackageApplication -v "${XCODE_ABS_BUILD_APP_PATH}" -o "${XCODE_ARCHIVE_OUTPUT_PATH}" --sign "${XCODE_BUILD_CODE_SIGN_AUTHORITY}" --embed "${XCODE_ABS_PROVISIONING_CERTIFICATE_PATH}" 
EXIT_CODE=$? 
if [ ! $EXIT_CODE -eq 0 ];then 
    exit $EXIT_CODE 
fi 

내가 가진 다른 무리가 있지만 그 핵심 부분입니다. 그런 다음 build.cfg에 위의 값이 있습니다.

#!/bin/sh 
export XCODE_PROJECT_DIR="Builds/iOS" 
export XCODE_BUILD_TARGET="Demo-iPhone" 
export XCODE_BUILD_SDK="iphoneos" 
export XCODE_BUILD_PLIST="Info.plist" 
export XCODE_BUILD_APP_NAME="demo.app" 
export XCODE_BUILD_APP_DIR="build" 
export XCODE_BUILD_CODE_SIGN_AUTHORITY="iPhone Distribution: ABC" 
export XCODE_ARCHIVE_OUTPUT_IPA_FILENAME="demo.ipa" 
export XCODE_ARCHIVE_OUTPUT_IPA_DIR="build/release" 
export XCODE_ARCHIVE_PROVISIONING_CERTIFICATE="demo_adhoc.mobileprovision" 
... 
+0

요점은 : 어떻게'XCODE_ABS_BUILD_APP_PATH'를 자동으로 얻을 수 있습니까? – Martin

+0

나는 그것을위한 도구가 없다고 생각합니다. 다수의 프로젝트에 여러 타겟, SDK, 인증서 등이있는 경우에도 선택 사항을 지정해야합니다. 우리는 쉘에서 설정을 편집하기 위해 XCode 프로젝트 파일을 구문 분석하지만 위와 같이 각 프로젝트에 대해 직접 구성 파일을 사용합니다. – peterept