如題所示,本文講述build號(hào)具體的配置方法,也就是說(shuō)在已經(jīng)給工程配置好fastlane自動(dòng)打包工具的前提下。
下面進(jìn)入正題
step1 修改工程配置
修改buildsettings里面的version配置,current project version 隨便填一個(gè)。versionsystem 選擇apple generic。

修改info.plist的路徑由絕對(duì)路徑變?yōu)橄鄬?duì)路徑

step2 配置fastfile
推薦用sublime text打開(kāi)fastfile,編輯器右下角選擇Ruby語(yǔ)言,方便編碼。
定義專門(mén)的函數(shù)處理
defupdateProjectBuildNumber
currentTime =Time.new.strftime("%Y%m%d")
build = get_build_number()
ifbuild.include?"#{currentTime}."
# => 為當(dāng)天版本 計(jì)算迭代版本號(hào)
lastStr = build[build.length-2..build.length-1]
lastNum = lastStr.to_i
lastNum = lastNum +1
lastStr = lastNum.to_s
iflastNum <10
lastStr = lastStr.insert(0,"0")
end
build ="#{currentTime}.#{lastStr}"
else
# => 非當(dāng)天版本 build 號(hào)重置
build ="#{currentTime}.01"
end
puts("*************| 更新build #{build} |*************")
# => 更改項(xiàng)目 build 號(hào)
increment_build_number(
build_number:"#{build}"
)
end
定義好updateProjectBuildNumber函數(shù)后,在自定義的每個(gè)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:"ShunWei-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:"", user_key:"")
# frameit
end