玩了三天,本身項目的坑和shell 打包等等方式,最後終於解決了打包上傳的問題,如今用最暴力的方式來講說FASTLANE。ios
1、 安裝fastlaneshell
在安裝前有幾個準備步驟:xcode
安裝最新的Xcode命令行工具: xcode-select --install (若是安裝了,控制檯是會報錯誤的:xcode-select: error: command line tools are already installed, use "Software Update" to install updates) ,沒有安裝的就按照提示走,安裝了的能夠忽略ruby
2、安裝Fastlanebash
sudo gem install fastlane -NV 或是 brew cask install fastlane 我這裏使用gem安裝的 (這幾部都是按照官網介紹安裝的路子走,下面的問題就比較注意了)架構
控制檯會報出:bad response Not Found404(gems.ruby-china.org/specs.4.8.g…) 其實這個問題的處理方式是由於鏡像不支持,下面 按照個人步驟來處理app
#查看gem源 gem sources工具
而後 gem sources -a gems.ruby-china.com 而後在執行 gem sources 查看是否修改爲功。若是你問爲何要這麼處理,ui
請看下圖:spa
而後再執行:sudo gem install fastlane -NV 這個時候,就開始下載安裝了,假如過程當中出現了ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/commander , 這是權限的問題 執行sudo gem install -n /usr/local/bin fastlane
3、開始你的Fastlane
這個時候,咱們所須要搭建的環境就已經成功的搭建出來了,如今第一步作的事情就是cd 到你當前的文件目錄:/Users/xxx/xx(工程路徑)
執行 fastlane init
而後控制檯就開始了FASTLANE的配置啦,這個時候已經執行了通常的路子... 耐心的下去...
1. 📸 Automate screenshots
2. 👩✈️ Automate beta distribution to TestFlight (自動testfilght型配置)
3. 🚀 Automate App Store distribution (自動發佈型配置)
4. 🛠 Manual setup - manually setup your project to automate your (須要手動配置內容)
複製代碼
我選擇的方式是 直接傳入App Store ,so 3 (其餘方式也是能夠玩的 2 TestFlight FASTLANE會在文件裏面配置成testflight的代碼,4 是自定義,須要你手動的本身配置 而後運行的時候執行你所須要執行的配置,固然這個配置文件是能修改的,後續會講到, 咱們繼續往下)
而後,在控制檯會提示你輸入用戶id(Apple 開發者帳號)
輸入後會提示你 Manage app metadata (這個時候,下載的就是你在開發者裏面這個APP的資料)
以後會生成文件
四 、 配置文件
···
default_platform(:ios)
platform :ios do
before_all do
ENV["FASTLANE_APPLE_APPLICATION_SPECIFIC_PASSWORD"] = "xxxxxxx" (Apple 雙重驗證)
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,由於樓主也是初次玩這個東西,如今暫時只介紹這個 )
固然,當你執行的時候,FASTLANE 會報一個錯誤就是遵循Apple開發裏面自動遞增版本號的設置
這個時候 咱們再執行 FASTLANE 就能開啓自動打包的路子了,固然 控制檯報錯了的時候,就須要本身去解決以後再打包了,樓主由於項目結構的問題 致使shell 和 FASTLANE 出現打包失敗的狀況,建議你們在作項目架構的時候 ,第三方的sdk 是不要放在工程的一級目錄的。OK 暫時就總結這麼多,這些就是目前打包的狀況