玩了三天,本身项目的坑和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 暂时就总结这么多,这些就是目前打包的状况