September 20, 2011

在source code插入svn version

案子進行一段時間,有時候是一邊測試一邊改,改完馬上又拿去測,很容易搞不清楚現在到底是哪個版的bug。此時如果可以在code裡面自動印出版號,或者直接顯示在畫面上,那就真是太好不過了。

具體的作法如下。

在Project Setting內加入一個RunScript的Build Phase。

把它放在Copy Resources phase的後面。
Script的地方加入底下這段code。
echo -n ${TARGET_BUILD_DIR}/${INFOPLIST_PATH} \ | xargs -0 /usr/libexec/PlistBuddy -c "Set :CFBundleVersion `svnversion -n`"

然後在需要的地方這樣取
NSString* version = [[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleVersion"];

這樣就可以囉~

做完這件事就不得不讚賞一下,在xCode要做這樣的事還真是方便。

參考來源

0 Comments: