2012-12-03 2 views

답변

10

스크립트를 실행하기 위해 "사전 조치"옵션을 활용하여 빌드시 Info.plist를 편집 할 수 있습니다. 여기

enter image description here

는 UserDefinedVersionNumber

#!/bin/sh 

#Grabs info from plist 
plist=$SRCROOT"/"$INFOPLIST_FILE 
currentBuild=`/usr/libexec/PlistBuddy -c "Print :UserDefinedVersionNumber" "$plist"` 

#And changes it before writing out the plist again 
if [ -z "$currentBuild" ] 
then 
    currentBuild=1 
    /usr/libexec/PlistBuddy -c "Add :UserDefinedVersionNumber string $currentBuild" "$plist" 

else 
    currentBuild=$(($currentBuild + 1)); 
    /usr/libexec/PlistBuddy -c "Set :UserDefinedVersionNumber $currentBuild" "$plist" 
fi 

당신은 그 작은 상자에 직접 스크립트를 입력 할 수 있어야라는 PLIST에서 키를 증가 예제 스크립트,하지만 난 그 편집 및 유지를 찾을 수 특히 공유 스크립트의 경우 문제가 될 수 있습니다.

+0

+1 추천 plistbuddy - 위대한 도우미 – Till

+0

고마워, 유용한 정보. 어쨌든 이런 종류의 일을하고 있지만 빌드 시스템에서 오는 값으로, 예를 들어 Jenkins가 빌드 전 또는 빌드시에 몇 가지 번호를 부여한다고 가정하고 그 정보를 번들 info.plist에 삽입하려고한다고 가정합니다. 이 체계에서 XCode는 그 번호에 액세스 할 수 있어야합니다. – Gruntcakes

+0

Jenkins가 무엇인지 모르겠으므로 확실하게 말할 수는 없지만 모든 빌드 설정이 "빌드 설정 제공 ..."비트를 통해 스크립트에 제공됩니다. –