用暴力去解决一切 ---fastlane 初探

2019-04-22  本文已影响0人  家振要翻天

玩了三天,自己项目的坑和shell 打包等等方式,最后终于解决了打包上传的问题,现在用最暴力的方式来说说FASTLANE。 

一、 安装fastlane

在安装前有几个准备步骤:

安装最新的Xcode命令行工具: xcode-select --install (如果安装了,控制台是会报错误的: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安装的  (这几部都是按照官网介绍安装的路子走,下面的问题就比较注意了)

控制台会报出:bad response Not Found404(https://gems.ruby-china.org/specs.4.8.gz)  其实这个问题的处理方式是因为镜像不支持,下面 按照我的步骤来处理

#查看gem源 gem sources

# 查看源 是否是https://gems.ruby-china.org/  如果是那么处理方式为:gem sources --remove https://gems.ruby-china.org/

然后 gem sources -a https://gems.ruby-china.com  然后在执行 gem sources  查看是否修改成功。如果你问为什么要这么处理,

请看下图:

然后再执行: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

三、开始你的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 暂时就总结这么多,这些就是目前打包的情况

上一篇 下一篇

猜你喜欢

热点阅读