【发布时间】:2011-04-19 13:55:23
【问题描述】:
是的,这与this question 非常相关,但我认为 XCode 3 已经充分回答了这个问题。不确定是否应该合并。
所以 - 使用那里的类似说明,我长期以来一直有很好的效果,将内部版本号编码到存档的 .ipa 文件中,这样 Organizer 会显示类似“1.0.3281”的版本(其中 3281 是通过下面的修订版构建附加到我的 iOS 目标的脚本):
REV=`svnversion -nc | /usr/bin/sed -e 's/^[^:]*://;s/[A-Za-z]//'`
echo "REV=$REV"
echo "#define kRevisionNumber @\"$REV\"" > ${PROJECT_DIR}/revision.h
echo "INFOPLIST_PATH=${INFOPLIST_PATH}"
BASEVERNUM=`/usr/libexec/PlistBuddy -c "Print :CFBundleVersion" "${INFOPLIST_FILE}" | sed 's/,/, /g'`
echo "BASEVERNUM=$BASEVERNUM"
PLISTARG1="Set :CFBundleVersion $BASEVERNUM.$REV"
echo "PLISTARG1=$PLISTARG1"
/usr/libexec/PlistBuddy -c "$PLISTARG1" "${TARGET_BUILD_DIR}"/${INFOPLIST_PATH}
但是,XCode 4(我从此爱上了它)显然需要进行一些调整,因为这种魔法只能在某种程度上起作用。这是上面脚本的结果。
REV=3281
INFOPLIST_PATH=Foo.app/Info.plist
BASEVERNUM=1.0
PLISTARG1=Set :CFBundleVersion 1.0.3281
我可以通过查看 ~/Library/.../Foo.app/Info.plist 看到,是的,它确实更新了正确的版本:
<key>CFBundleVersion</key>
<string>1.0.3281</string>
很明显有一个附加文件需要更新..也许在.xcarchive中?关于首先在哪里钻取的任何建议?
【问题讨论】: