XCode中跟蹤編譯次數(shù) 實例教程
XCode中跟蹤編譯次數(shù) 實例教程是本文要介紹的內(nèi)容,這篇文章適合單獨做項目的友們,有時候你希望跟蹤你的項目到底編輯、XCode / 編譯、運行和測試了多少次。當(dāng)你開發(fā)了一兩個程序的時候,如果有了這個跟蹤數(shù)據(jù),你可能就會得出一個比較明顯的數(shù)據(jù),到底對你來說做出不錯的軟件大概需要多久。
你的時間不是無限的,知道你做一件事情花了多少時間是很重要的。下面將要告訴你的是如何通過在項目中添加一個自動增長數(shù)目的運行腳本去跟蹤你的項目。腳本會生成一個.xcconfig文件,我們可以用它直接將你做這個項目編譯的次數(shù)顯示到“關(guān)于”對話框里。
你項目中的一些數(shù)據(jù)
我最開始用這個技巧是通過 Laugh Man(cocoachina注:看過攻殼你就知道這個笑臉是哪來的了)來實現(xiàn)的,不過0.5版之前我并沒有開始使用這個方法。
用過Laugh Man,我開始用SunFlower,這次我從項目的最開始就開始跟蹤編譯數(shù)據(jù)。以下是從0.1版到0.9版的跟蹤數(shù)據(jù)。
我發(fā)現(xiàn)這個數(shù)據(jù)是非常有用的。因為我可以判斷出代碼行間的不同與在那個版本中修改了什么的差別。一方面,我可以判斷出版本的提升付出了多大的代價,是否真的有用,同時還可以幫我大概估計出我的工作能力是否有提升。
你可能會注意到通過SunFlower生成的上面的數(shù)據(jù),你會發(fā)現(xiàn)0.5和0.8版編譯的次數(shù)明顯多的多。這樣我就知道為什么這兩個版本為什么編譯了那么多次。比如0.8版,我介紹了iTunes風(fēng)格的那種滾動條,這樣就花費了我不少工作來完善它。
自動增加版本號的Shell腳本
我們需要的***件事是自動增加我們編譯的次數(shù)。下面的腳本可以幫我們做這件事。它需要一個參數(shù),是用來保存當(dāng)前編譯次數(shù)的文件。這可以允許我們使用同一個腳本來管理多個項目。
- #!/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
接下來選擇在新創(chuàng)建的Build Phase里選擇Get Info,修改腳本,使其看起來像下面這樣:
現(xiàn)在在XCode里運行程序,就會自動執(zhí)行這個腳本。腳本會自動在你的項目目錄中創(chuàng)建.xcconfig版本文件。你可以在文本編輯器中查看這個version.xcconfig文件。內(nèi)容大概是:
- “CURRENT_PROJECT_VERSION = 1”
在關(guān)于對話框中添加編譯次數(shù)
我們得到了編譯的次數(shù),如果能夠在關(guān)于對話框中加入這個數(shù)字那就很好了。我們需要做的***件事情是在項目中添加version.xcconfig文件。
當(dāng)你增加了自動生成的.xcconfig文件,你需要修改項目的編譯設(shè)置,這樣項目會基于那個文件編譯。在項目中選擇“Get Info”,然后選擇Build。將配置設(shè)置為“All Configurations”,然后在Based On下拉框中選擇version。如圖所示。
***,編輯info.plist文件,這樣,CFBundleVersion會使用${CURRENT_PROJECT_VERSION}這個數(shù)值并增加一個CFBundleShortVersionString。
- <key>CFBundleShortVersionString</key> <string>0.1</string> <key>CFBundleVersion</key> <string>${CURRENT_PROJECT_VERSION}</string>
另外,很重要的一件事需要提醒你注意的是你必須清理一次項目,***的版本號就會顯示在關(guān)于對話框里。這是由于只有在需要的情況下XCode才會重新生成info.plist文件。
如果你不會設(shè)置,你可以從這里下載包含了上文描述內(nèi)容的例子項目。
小結(jié):XCode中跟蹤編譯次數(shù) 實例教程的內(nèi)容介紹完了,希望本文對你有所幫助!