4
Jenkins를 사용하여 CI 시스템을 설정 중이며 agvtool을 사용하여 빌드시 마케팅 & 기술 버전을 충돌 및 설정합니다.빌드 단계에서 번들의 .plist에 사용자 지정 값을 자동으로 쓰는 방법이 있습니까?
빌드 할 때 버전 관리를 설정하는 것 외에도 .plist에 몇 가지 사용자 정의 값을 설정하는 것이 매우 유용합니다.
이것이 가능합니까?
Jenkins를 사용하여 CI 시스템을 설정 중이며 agvtool을 사용하여 빌드시 마케팅 & 기술 버전을 충돌 및 설정합니다.빌드 단계에서 번들의 .plist에 사용자 지정 값을 자동으로 쓰는 방법이 있습니까?
빌드 할 때 버전 관리를 설정하는 것 외에도 .plist에 몇 가지 사용자 정의 값을 설정하는 것이 매우 유용합니다.
이것이 가능합니까?
스크립트를 실행하기 위해 "사전 조치"옵션을 활용하여 빌드시 Info.plist를 편집 할 수 있습니다. 여기
는 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에서 키를 증가 예제 스크립트,하지만 난 그 편집 및 유지를 찾을 수 특히 공유 스크립트의 경우 문제가 될 수 있습니다.
+1 추천 plistbuddy - 위대한 도우미 – Till
고마워, 유용한 정보. 어쨌든 이런 종류의 일을하고 있지만 빌드 시스템에서 오는 값으로, 예를 들어 Jenkins가 빌드 전 또는 빌드시에 몇 가지 번호를 부여한다고 가정하고 그 정보를 번들 info.plist에 삽입하려고한다고 가정합니다. 이 체계에서 XCode는 그 번호에 액세스 할 수 있어야합니다. – Gruntcakes
Jenkins가 무엇인지 모르겠으므로 확실하게 말할 수는 없지만 모든 빌드 설정이 "빌드 설정 제공 ..."비트를 통해 스크립트에 제공됩니다. –