XCode中跟蹤編譯次數 執行個體教程是本文要介紹的內容,這篇文章適合單獨做項目的友們,有時候你希望跟蹤你的項目到底編輯、XCode / 編譯、運行和測試了多少次。當你開發了一兩個程式的時候,如果有了這個跟蹤資料,你可能就會得出一個比較明顯的資料,到底對你來說做出不錯的軟體大概需要多久。
你的時間不是無限的,知道你做一件事情花了多少時間是很重要的。下面將要告訴你的是如何通過在項目中添加一個自動成長數目的運行指令碼去跟蹤你的項目。指令碼會產生一個.xcconfig檔案,我們可以用它直接將你做這個項目編譯的次數顯示到“關於”對話方塊裡。
你項目中的一些資料
我最開始用這個技巧是通過 Laugh Mancocoachina註:看過攻殼你就知道這個笑臉是哪來的了)來實現的,不過0.5版之前我並沒有開始使用這個方法。
用過Laugh Man,我開始用SunFlower,這次我從項目的最開始就開始跟蹤編譯資料。以下是從0.1版到0.9版的跟蹤資料。
我發現這個資料是非常有用的。因為我可以判斷出程式碼間的不同與在那個版本中修改了什麼的差別。一方面,我可以判斷出版本的提升付出了多大的代價,是否真的有用,同時還可以幫我大概估計出我的工作能力是否有提升。
你可能會注意到通過SunFlower產生的上面的資料,你會發現0.5和0.8版編譯的次數明顯多的多。這樣我就知道為什麼這兩個版本為什麼編譯了那麼多次。比如0.8版,我介紹了iTunes風格的那種捲軸,這樣就花費了我不少工作來完善它。
自動增加版本號碼的Shell指令碼
我們需要的第一件事是自動增加我們編譯的次數。下面的指令碼可以幫我們做這件事。它需要一個參數,是用來儲存當前編譯次數的檔案。這可以允許我們使用同一個指令碼來管理多重專案。
- #!/bin/bash #
- # buildIncrementer
- # — a simple script to increment the
- # build number through Xcode # if [ -e "$1" ] then
- echo " do nothing" > /dev/nullelse
- # creat an empty file touch
- $1 fi
- #increment the build number read number < $1 let number++echo $number echo $number >
- $1
我把這個指令碼儲存到了我主目錄的bin目錄,取名叫做buildIncrementer。你也可以把這個指令碼儲存到你電腦上,取一個你喜歡的名字。
將指令碼添加到項目中
要在XCode中使用這個指令碼,我們需要在項目中添加一個運行指令碼階段run script phase)。右鍵點擊你希望使用的項目,選擇Add -> New Build Phase ->New Run Script Build Phase
接下來選擇在新建立的Build Phase裡選擇Get Info,修改指令碼,使其看起來像下面這樣:
現在在XCode裡運行程式,就會自動執行這個指令碼。指令碼會自動在你的項目目錄中建立.xcconfig版本檔案。你可以在文字編輯器中查看這個version.xcconfig檔案。內容大概是:
- “CURRENT_PROJECT_VERSION = 1”
在關於對話方塊中添加編譯次數
我們得到了編譯的次數,如果能夠在關於對話方塊中加入這個數字那就很好了。我們需要做的第一件事情是在項目中添加version.xcconfig檔案。
當你增加了自動產生的.xcconfig檔案,你需要修改項目的編譯設定,這樣項目會基於那個檔案編譯。在項目中選擇“Get Info”,然後選擇Build。將配置設定為“All Configurations”,然後在Based On下拉框中選擇version。。
最後,編輯info.plist檔案,這樣,CFBundleVersion會使用${CURRENT_PROJECT_VERSION}這個數值並增加一個CFBundleShortVersionString。
- <key>CFBundleShortVersionString</key> <string>0.1</string> <key>CFBundleVersion</key> <string>${CURRENT_PROJECT_VERSION}</string>
另外,很重要的一件事需要提醒你注意的是你必須清理一次項目,最新的版本號碼就會顯示在關於對話方塊裡。這是由於只有在需要的情況下XCode才會重建info.plist檔案。
如果你不會設定,你可以從這裡下載包含了上文描述內容的例子項目。
小結:XCode中跟蹤編譯次數 執行個體教程的內容介紹完了,希望本文對你有所協助!