如題所示,本文講述build號具體的配置方法,也就是說在已經(jīng)給工程配置好fastlane自動打包工具的前提下。
如果你尚未使用這個工具蔚龙,可以點(diǎn)擊一下幾篇文章學(xué)習(xí)如何使用:
【CI】持續(xù)集成-引導(dǎo)篇
【CI】持續(xù)集成-第一篇 fastlane
下面進(jìn)入正題
step1 修改工程配置
修改buildsettings里面的version配置冰评,current project version 隨便填一個映胁。versionsystem 選擇apple generic。
t1.jpeg
修改info.plist的路徑由絕對路徑變?yōu)橄鄬β窂?/p>
t2.jpg
step2 配置fastfile
推薦用sublime text打開fastfile甲雅,編輯器右下角選擇Ruby語言解孙,方便編碼。
定義專門的函數(shù)處理
def updateProjectBuildNumber
currentTime = Time.new.strftime("%Y%m%d")
build = get_build_number()
if build.include?"#{currentTime}."
# => 為當(dāng)天版本 計(jì)算迭代版本號
lastStr = build[build.length-2..build.length-1]
lastNum = lastStr.to_i
lastNum = lastNum + 1
lastStr = lastNum.to_s
if lastNum < 10
lastStr = lastStr.insert(0,"0")
end
build = "#{currentTime}.#{lastStr}"
else
# => 非當(dāng)天版本 build 號重置
build = "#{currentTime}.01"
end
puts("*************| 更新build #{build} |*************")
# => 更改項(xiàng)目 build 號
increment_build_number(
build_number: "#{build}"
)
end
定義好updateProjectBuildNumber函數(shù)后抛人,在自定義的每個lane方法中弛姜,調(diào)用一下即可。
eg:
lane :uat do
updateProjectBuildNumber // 這里調(diào)用
currentTime = Time.new.strftime("%Y-%m-%d-%H-%M")
ipaName = "UAT-#{currentTime}.ipa"
gym(
scheme: "XXX-UAT",
export_method:"ad-hoc",
archive_path:"./build/uat",
output_directory:"./build/uat",
output_name:ipaName
) # Build your app - more options available
#deliver(force: true)
pgyer(api_key: "xxxxx", user_key: "xxxxx")
# frameit
end
配置完了 就可以本地打包自增build號了妖枚,當(dāng)然廷臼,可以根據(jù)自己項(xiàng)目需求自定義build號的規(guī)則,百度一下Ruby語法即可绝页。