1.打开终端,确保Xcode Command Line Tools 安装了最新版

xcode-select --install

2.安装fastlane

sudo gem install -n /usr/local/bin fastlane

查看源  gem sources -l   卡住不动,可能Ruby的源被墙了,

移除源  gem source -r https://rubygems.org/ (刚才查看到的源)

添加源  gem source -a https://gems.ruby-china.com

备注:https://gems.ruby-china.org 域名改了要用.com

3.CD到工程目录初始化

fastlane init

初始化的过程中会出现下面的选项:

What would you like to use fastlane for?

1. Automate screenshots

2. Automate beta distribution to TestFlight

3. Automate App Store distribution

4. Manual setup - manually setup your project to automate your tasks

第一个:截图

第二个:发布到TestFlight

第三个:发布到App Store

第四个:手动设置

我们选择4,enter

安装成功会在工程根目录下生成fastlane文件, 包含Appfile和Fastfile配置文件

4.配置Appfile

app_identifier 包名

apple_id 苹果开发者账号

5.配置Fastfile

DemoTest为工程名称

如果工程用了CocoaPods,切记需要配置workspace这个参数,没有用的话,去掉workspace这行即可

firim_api_token: '***************'

firim_api_token 你在firim网站登录后,点击头像,可以查看API token。复制到这地方

备注:如果是蒲公英平台,将firim这行替换为以下蒲公英的配置即可。 pgyer(api_key: "************", user_key: "***********")

其中的 api_key 和 user_key,请开发者在自己账号下的 应用管理 - App概述 - API 中可以找到,并替换到以上相应的位置。

desc下面的lane后面的 archive 这个方法名可以自由配置,一会发布到firim需要调用此方法。

desc "ipa打包"

lane :archive do
#打包的ipa存放路径
outputDir = "~/firim/ipa/#{Time.now.strftime('%y%m%d')}"
#打包的ipa名称
outputName = "DemoTest-#{Time.now.strftime("%Y-%m-%d %H:%M:%S")}"
gym(
scheme: "DemoTest", #改为你项目的scheme
workspace: "DemoTest.xcworkspace", #如果项目使用CocoaPods需要加上
clean: true,
configuration: "Release",
output_directory: outputDir,
output_name: outputName,
include_bitcode: true,
include_symbols: true,
silent: true,
export_method:"development"
)
#上传ipa到fir.im服务器,在fir.im获取firim_api_token
firim(firim_api_token: '你在firim网站登录后,点击头像,可以查看API token。复制到这地方')
end

释义:

6.安装fir插件

fastlane add_plugin firim

备注:如果是蒲公英平台需要输入 fastlane add_plugin pgyer

7.发布到firim

fastlane archive

命令执行完成后, 可以在Fastfile文件output_directory参数配置的目录下找到自动生成的ipa文件,和dYSM的压缩包(如果configuration配置的是Debug,就不会有dYSM的压缩包)

fastlane自动化打包ipa并发布到firim或者蒲公英的更多相关文章

  1. iOS使用fastlane自动化打包到fir(最全最详细流程)

    # iOS使用fastlane自动化打包到fir(最全最详细流程)1. **首先确认是否安装了ruby,终端查看下ruby版本**> ruby -v终端输出:ruby 2.4.1p111 (20 ...

  2. ios实现fastlane自动化打包

    终于抽出时间来学习自动化打包了,app在测试阶段一天总会经历好几次的打包,每次打包真是身心疲惫,刚打完的包说不定就被测试妹子反应还要微调什么地方,我就真的有气没法出,打一次包怎么也得浪费十几分钟,还不 ...

  3. Jenkins自动化打包(Gitlab)并上传蒲公英

    整个过程详见:https://www.jianshu.com/p/91e8f571fc2b 以下是遇到的问题及解决过程 一.安装homebrew(网速很慢很慢……被墙了) /usr/bin/ruby ...

  4. Mac Jenkins+fastlane 简单几步实现iOS自动化打包发布 + jenkins节点设置

    最近在使用jenkins 实现ios自动化打包发布蒲公英过程实践遇到了一些坑,特意记录下来方便有需要的人. 进入正题: 一.安装Jenkins 1.Mac上安装Jenkins 遇到到坑 因为 Jenk ...

  5. iOS自动化打包发布(fastlane)

    一.FastLane介绍 1.1 FastLane是什么? FastLane是一种配置iOS和Android自动化Beta部署和发布的最简单的方法之一.它可以简化一些乏味.单调.重复的工作,像截图.代 ...

  6. iOS自动化打包 Jenkins+Gitlab+Fastlane+蒲公英+钉钉

    前言 这两天花时间整理一下自动化打包的整套流程,现在iOS端的整套流程是没有问题了,这个过程中踩得坑也的确是特别多,所以这周末把整个流程整理一下,总结出来这篇文章,希望能对有需要的小伙伴有点点帮助. ...

  7. Expo大作战(十八)--expo如何发布成独立应用程序,打包成apk或者ipa,发布到对应应用商店

    简要:本系列文章讲会对expo进行全面的介绍,本人从2017年6月份接触expo以来,对expo的研究断断续续,一路走来将近10个月,废话不多说,接下来你看到内容,讲全部来与官网 我猜去全部机翻+个人 ...

  8. 了解 xcodebuild 命令 ,自动打包ipa

    引用博客:http://blog.nswebfrog.com/2015/10/31/xcodebuild/ 在 iOS 开发中,如果需要把工程打包成 ipa 文件,通常的做法就是在 Xcode 里点击 ...

  9. xcodebuild 自动化打包

    altool 文档 使用xcode自带的xcodebuild 命令通过脚本进行打包 打包->导出ipa, 两行关键的脚本代码 1.Archive xcodebuild archive -arch ...

随机推荐

  1. ACM-百度之星资格赛之Energy Conversion——hdu4823

    版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/lx417147512/article/details/26400079 Energy Convers ...

  2. Uva 10534 波浪子序列

    题目链接:https://vjudge.net/contest/160916#problem/C 题意: 求一个奇数长的子序列,前一半严格递增,后一半严格递减:O(nlogn) 分析: 再次复习一下L ...

  3. 【转】同步的HttpClient使用详解

    http://blog.csdn.net/angjunqiang/article/details/54340398 背景 服务端以及客户端在开发过程中不可避免的会使用到网络请求,网络请求可以使用Jav ...

  4. 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用

    一,问题描述MSVCRTD.lib(crtexew.obj) : error LNK2019: 无法解析的外部符号 _WinMain@16,该符号在函数 ___tmainCRTStartup 中被引用 ...

  5. hive中使用rcfile

    (1)建student & student1 表:(hive 托管)create table student(id INT, age INT, name STRING)partitioned ...

  6. php常见的几种排序以及二分法查找

    <?php 1.插入排序 思想: 每次将一个待排序的数据元素插入到前面已经排好序的数列中,使数列依然有序,知道待排序数据元素全部插入完为止. 示例: [初始关键字] [49] 38 65 97 ...

  7. Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A LOB

    Oracle 11g行字段拼接WMSYS.WM_CONCAT问题Not A LOB 一.问题出现 项目中的某个查询需要将表中某个字段不重复地拼接起来,百度得到该函数WMSYS.WM_CONCAT(字段 ...

  8. 还在占用存储的进程lsof grep deleted;

    查看僵尸进程 lsof grep deleted; 用于查看已经停止但还在占用存储的进程

  9. 你不知道的javaScript笔记(7)

    异步:现在与将来 分块的程序 可以把JavaScript 程序写在单独的js 文件中,这个程序是由多个块组成的,这些块 中只有一个是现在执行,其余在捡来执行,最常见的块单位是函数. 例如: funct ...

  10. struts2的token interceptor

    关于struts2的token拦截器的说明 原理:struts2的token interceptor是关于重复提交的拦截器,其实现是:在form表单中加入token标签,如下: <form ac ...