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. Ural State University Internal Contest October'2000 Junior Session

    POJ 上的一套水题,哈哈~~~,最后一题很恶心,不想写了~~~ Rope Time Limit: 1000MS   Memory Limit: 65536K Total Submissions: 7 ...

  2. http://codeforces.com/gym/100623/attachments E题

    http://codeforces.com/gym/100623/attachments E题第一个优化它虽然是镜像对称,但它毕竟是一一对称的,所以可以匹配串和模式串都从头到尾颠倒一下第二个优化,与次 ...

  3. DateTime小综合

    实现效果: 关键知识: 1>DateTime类的ToString()方法: 2>DateTime类的IsLeapYear(); 3>DateTime类的DaysInMomth(); ...

  4. jmeter报"msg":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supported"的解决方法

    1.报"msg":"Content type 'application/x-www-form-urlencoded;charset=UTF-8' not supporte ...

  5. Maximum Profit

    Maximum Profit You can obtain profits from foreign exchange margin transactions. For example, if you ...

  6. java线程池系列(1)-ThreadPoolExecutor实现原理

    前言 做java开发的,一般都避免不了要面对java线程池技术,像tomcat之类的容器天然就支持多线程. 即使是做偏后端技术,如处理一些消息,执行一些计算任务,也经常需要用到线程池技术. 鉴于线程池 ...

  7. 【转】JS gzip加密字符串并base64输出

    http://blog.csdn.net/zunwei/article/details/49886115 最近开发中遇到一些问题,关于js怎么给一个字符串进行字节流加密.下面就详细说下做法. 首先引入 ...

  8. HDU 1111 Secret Code(数论的dfs)

    Secret Code Time Limit:1000MS     Memory Limit:32768KB     64bit IO Format:%I64d & %I64u Submit ...

  9. vuex+vue-router拦截

    干就完了 项目中经常遇到这样一个场景,用户信息或者进行增删改的一些模块,需要根据用户是否登录,进行路由拦截,直接上代码 在store文件夹下的store.js中存放一个默认登录状态 /* * stor ...

  10. Ajax全接触(2)

    例子简介 1.查询员工信息,可以通过输入员工编号查询员工基本信息: 2.新建员工信息,包含员工姓名,员工编号,员工性别,员工职位: 实现: 1.纯html页面,用来实现员工查询和新建的页面: 2.ph ...