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. 前端HTML5几种存储方式

    h5之前,存储主要是用cookies.cookies缺点有在请求头上带着数据,大小是4k之内.主Domain污染. 主要应用:购物车.客户登录 对于IE浏览器有UserData,大小是64k,只有IE ...

  2. csu 1947 三分

    题意: 长者对小明施加了膜法,使得小明每天起床就像马丁的早晨一样. 今天小明早上6点40醒来后发现自己变成了一名高中生,这时马上就要做早操了,小明连忙爬起来 他看到操场密密麻麻的人,突然灵光一闪想到了 ...

  3. linux shell——zsh的安装与使用

    Shell是在程序员与服务器间建立一个桥梁,它对外提供一系列命令,让我们得以控制服务器.常用的Bash就是Shell的一种,也是Linux下默认Shell程序.这里介绍一种更强大的.更人性化的Shel ...

  4. D - Going Home POJ - 2195 网络流

    On a grid map there are n little men and n houses. In each unit time, every little man can move one ...

  5. [转]《深入浅出MFC》– MFC程序的生死因果

    1.首先MFC程序需要哪些函数库? Windows C Runtime函数库 LIBC.LIB       C Runtime函数库的静态链接版本 MSVCRT.LIB     C Runtime函数 ...

  6. 菜鸟笔记 -- Chapter 6.2.6 内部类

    6.2.6  内部类 在权限修饰符中,我们已经见过内部类了,但我们看到的只是冰山一角,这节我们详细介绍一下内部类,内部类可以分为成员内部类,局部内部类,匿名内部类,静态内部类.下面我们来讲解一下,在讲 ...

  7. 初学oracle遇到些小麻烦

    前段时间学习了Oracle数据库,在超级用户sys下运行一些基本语句的时候都没有发现有什么问题,但是却发现不能执行删除字段的的命令,老师检查说可能是权限不够,但是在授权之后依旧不能完成该语句,所以就另 ...

  8. dual表详解

    dual是一个虚拟表,用来构成select的语法规则,oracle保证dual里面永远只有一条记录.我们可以用它来做很多事情,如下: 1.查看当前用户 SQL> select user from ...

  9. kali linux 中文出现乱码问题的解决

    确定locales已经安装,用”apt-get install locales”命令:之后可用”locale -a”查看当前系统支持的字符集. 1. 在命令行输入”dpkg-reconfigure l ...

  10. php post提交xml文件

    <?php header("Content-type: text/xml;"); // xml code demo $xmlData = '<?xml version= ...