玩了三天,自己項(xiàng)目的坑和shell 打包等等方式作儿,最后終于解決了打包上傳的問題哼鬓,現(xiàn)在用最暴力的方式來說說FASTLANE毯辅。?
一发钝、 安裝fastlane
在安裝前有幾個(gè)準(zhǔn)備步驟:
安裝最新的Xcode命令行工具:?xcode-select --install (如果安裝了,控制臺(tái)是會(huì)報(bào)錯(cuò)誤的:xcode-select: error: command line tools are already installed, use "Software Update" to install updates) ,沒有安裝的就按照提示走漩符,安裝了的可以忽略
二一喘、安裝Fastlane
sudo gem install fastlane -NV 或是 brew cask install fastlane 我這里使用gem安裝的? (這幾部都是按照官網(wǎng)介紹安裝的路子走,下面的問題就比較注意了)
控制臺(tái)會(huì)報(bào)出:bad response Not Found404(https://gems.ruby-china.org/specs.4.8.gz)? 其實(shí)這個(gè)問題的處理方式是因?yàn)殓R像不支持,下面 按照我的步驟來處理
#查看gem源 gem sources
# 查看源 是否是https://gems.ruby-china.org/? 如果是那么處理方式為:gem sources --remove https://gems.ruby-china.org/
然后 gem sources -a https://gems.ruby-china.com? 然后在執(zhí)行?gem sources? 查看是否修改成功。如果你問為什么要這么處理,
請看下圖:
然后再執(zhí)行:sudo gem install fastlane -NV? ?這個(gè)時(shí)候,就開始下載安裝了凸克,假如過程中出現(xiàn)了ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander , 這是權(quán)限的問題 執(zhí)行sudo gem install -n /usr/local/bin fastlane
三议蟆、開始你的Fastlane
這個(gè)時(shí)候,我們所需要搭建的環(huán)境就已經(jīng)成功的搭建出來了,現(xiàn)在第一步做的事情就是cd 到你當(dāng)前的文件目錄:/Users/xxx/xx(工程路徑)
執(zhí)行 fastlane init
然后控制臺(tái)就開始了FASTLANE的配置啦,這個(gè)時(shí)候已經(jīng)執(zhí)行了一般的路子... 耐心的下去...
```
1. ?? Automate screenshots
2. ?????? Automate beta distribution to TestFlight (自動(dòng)testfilght型配置)
3. ??? Automate App Store distribution (自動(dòng)發(fā)布型配置)
4. ??? Manual setup - manually setup your project to automate your (需要手動(dòng)配置內(nèi)容)
```
我選擇的方式是 直接傳入App Store? ,so? 3 (其他方式也是可以玩的 2 TestFlight? FASTLANE會(huì)在文件里面配置成testflight的代碼萎战,4 是自定義咐容,需要你手動(dòng)的自己配置 然后運(yùn)行的時(shí)候執(zhí)行你所需要執(zhí)行的配置,當(dāng)然這個(gè)配置文件是能修改的蚂维,后續(xù)會(huì)講到, 我們繼續(xù)往下)
然后,在控制臺(tái)會(huì)提示你輸入用戶id(Apple 開發(fā)者賬號(hào))
輸入后會(huì)提示你?Manage app metadata? ? (這個(gè)時(shí)候,下載的就是你在開發(fā)者里面這個(gè)APP的資料)
之后會(huì)生成文件
四? 戳粒、 配置文件
···
default_platform(:ios)
platform :ios do
? before_all do
? ? ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "xxxxxxx"? ?(Apple 雙重驗(yàn)證)
? ? cocoapods(use_bundle_exec:FALSE)
? end
? desc "Push a new release build to the App Store"
? lane :release do
? ? increment_build_number(xcodeproj: "xxx.xcodeproj")
? ? build_app(workspace: "xxxxx.xcworkspace", scheme: "xxxxxl")
? ? upload_to_app_store(force:true)
? end
end
···
配置文件(主要是Fastflie,因?yàn)闃侵饕彩浅醮瓮孢@個(gè)東西,現(xiàn)在暫時(shí)只介紹這個(gè) )
當(dāng)然,當(dāng)你執(zhí)行的時(shí)候虫啥,F(xiàn)ASTLANE 會(huì)報(bào)一個(gè)錯(cuò)誤就是遵循Apple開發(fā)里面自動(dòng)遞增版本號(hào)的設(shè)置?
這個(gè)時(shí)候 我們再執(zhí)行 FASTLANE? 就能開啟自動(dòng)打包的路子了蔚约,當(dāng)然 控制臺(tái)報(bào)錯(cuò)了的時(shí)候,就需要自己去解決之后再打包了涂籽,樓主因?yàn)轫?xiàng)目結(jié)構(gòu)的問題 導(dǎo)致shell 和 FASTLANE 出現(xiàn)打包失敗的情況,建議大家在做項(xiàng)目架構(gòu)的時(shí)候 苹祟,第三方的sdk 是不要放在工程的一級(jí)目錄的。OK 暫時(shí)就總結(jié)這么多评雌,這些就是目前打包的情況