在每次添加udid时,都需要手动去开发者网站更新PP文件,下载配置到Xcode和更新PP文件到jenkins所有工程。是一个很耗时的操作。

使用fastlane match可在小组成员之间更方便的统一管理证书和PP文件。

分步指南

          1. 安装fastlane:

            ① Make sure you have the latest version of the Xcode command line tools installed:

            1. xcode-select --install

            ②Choose your installation method:

            Installer Script
            Rubygems
            macOS macOS macOS or Linux with Ruby 2.0.0 or above
            brew cask install fastlane Download the zip file. Then double click on the installscript (or run it in a terminal window). sudo gem install fastlane -NV

            若brew cask install fastlane安装不成功,可使用sudo gem install fastlane -NV。

            如果出现问题,使用方法“Installer Script”,fanqiang下载源文件,点击install安装。

          2. 对每个工程配置fastlane(先拉取仓库代码,看同事对某个工程是否已配置好了fastlane,若已配置,只需要执行fastlane pps同步证书和pp文件即可),同步证书和PP文件到证书仓库用命令行进入需要配置的工程目录,执行fastlane init,根据提示输入公司开发者账号dev@xx.com, 和密码(注意:请检查Xcode登录的账号是否是

dev@xx.com

          ,必须用此账号,因为只有此账号有创建PP文件的新增appID的权限)。会自动在工程目录中生成fastlane相关文件。
          然后把下面代码添加到Fastfile中以下代码的下面
  1. platform :ios do
  2. before_all do
  3. # ENV["SLACK_URL"] = "https://hooks.slack.com/services/..."
  4. #cocoapods #注意,此处必须手动修正:在最左边加#注释掉,否则更新pods可能导致多工程时编译失败。
  5.  
  6. end

,注意:只需要修改appID为新项目的appIDs(一个工程多个target有不同id的话用中括号括起来,英文逗号分隔)。

在续费账号或每次添加udid时:

管理员在自己电脑上更新证书和pp时;更新方法是进入具体工程目录,然后执行

fastlane pps,成功后可在Xcode上手动指定PP文件。

  1. desc "update profile of appstore,adhoc,dev when udid added or renew dev account"
  2. lane :pps do
  3. match(git_url: "ssh://gitxx/ioscertificates.git",
  4. type: "appstore")
  5. match(git_url: "ssh://gitxx/ioscertificates.git",
  6. type: "development",
  7. app_identifier: ["com.xx"
  8. # , "tools.fastlane.app.today_widget" #Handle multiple targets
  9. ],
  10. force_for_new_devices: true)
  11. match(git_url: "ssh://git@git.xx/ioscertificates.git",
  12. type: "adhoc",
  13. app_identifier: ["com.xx"
  14. # , "tools.fastlane.app.today_widget" #Handle multiple targets
  15. ],
  16. force_for_new_devices: true)
  17. end
  18.  
  19. desc "sync profile of appstore,adhoc,dev when admin has update cert and pps"
  20. lane :syn do
  21. match(git_url: "ssh://git@git.xx/ioscertificates.git",
  22. type: "appstore" ,
  23. readonly: true)
  24. match(git_url: "ssh://git@git.xx/ioscertificates.git",
  25. type: "development",
  26. readonly: true)
  27. match(git_url: "ssh://git@git.xx/ioscertificates.git",
  28. type: "adhoc",
  29. readonly: true)
  30. end

非负责人 同步证书和pp文件方法如下:

1.获取最新代码:git pull

2.切到每个具体的子工程目录,用命令行执行:fastlane syn

选做:为了再以后执行 fastlane  pps 或 fastlane match  development/adhoc/appstor时不再手动输入证书仓库,执行一次

fastlane match init

指定仓库 ssh://xx.git,会自动生成本地文件Matchfile到fastlane文件夹中,以后执行fastlane match xx 就不会提示输入证书仓库了,也便于以后jenkins相关自动化流程改进。

执行fastlane pps时如果还让指定证书库地址,指定如下:

[14:51:50]: To not be asked about this value, you can specify it using 'git_url'

URL to the git repo containing all the certificates: ssh://xx/ioscertificates.git

如果提示输入passphase时,根据提示,两次输入123456(这是第一次创建证书仓库时输入的加密密码,为何创建详见 https://codesigning.guide),会提示成功解密证书仓库。然后会自动创建或导入证书和创建或导入或更新PP文件,

最后会提示成功,信息如下:

fastlane.tools just saved you 11 minutes!

此时dev,adhoc,appstore版本的PP文件都已在开发者网站更新并且自动下载到本地和上传到证书仓库了!

在Xcode中,已经可以手动选择新生成的PP文件了.详见:

https://github.com/fastlane/fastlane/tree/master/match

可能遇到的问题:

1.执行fastlane init时提示: Connection reset by peer - SSL_connect

A:解决办法:

经过测试,还是下面方法在用蓝灯fanqiang的情况下下载靠谱:
  - Use One-Click-Installer:

[11:43:54]:     - download fastlane at https://download.fastlane.tools

[11:43:54]: -----------------------------------------------------------

[11:43:54]:     - extract the archive and double click the `install`

不用想着更新gem或ruby的版本(本身就很麻烦,又慢的要死)。
 
2.自动生成的开发证书报错,提示未包含某个账号的签名证书。

A:导致的原因是:生成证书的电脑使用的开发者证书和新机器的开发者证书不同,导致此问题。

 解决的方法是:删除本地与公用证书账号不同的证书即可。Xcode上就会显示正常了。

fastlane安装流程和fastlane match同步证书和PP文件方法的更多相关文章

  1. linux-CentOS6.4安装Memcached+memcached扩展+安装memcache扩展+Memcache+mecached同步SESSION的几种方法

    一.编译环境的准备 yum install gcc  yum install gcc-c++ libstdc++-devel  yum install zlib-devel 二.源代码包准备 wget ...

  2. 如何将已经安装从chrome扩展程序导出备份为.CRX文件?

    之前介绍过CRX Extractor可以从chrome应用商店下载备份扩展程序,有读者朋友问说:如果 Google Chrome扩展程序已经从 Chrome应用商店下架,还有没有方法下载呢?通常网路上 ...

  3. ios自动打包-fastlane 安装、使用、更新和卸载

    ios自动打包使用fastlane 1.首先安装xcode 首先检查是否已经安装 Xcode 命令行工具,fastlane 使用 xcodebuild 命令进行打包,运行 xcode-select - ...

  4. Ios 程序封装,安装流程

    转:http://www.myexception.cn/operating-system/1436560.html Ios 程序打包,安装流程 一.发布测试,是指将你的程序给   * 你的测试人员,因 ...

  5. sublime 官方正版,自己用的插件配置,最轻量级安装流程

    到了一家新公司,新的办公电脑,移动工作站哦,配置很酷.需要自己安装编码环境,node.js(http-server)是必须要装的,编辑器个人比较喜欢sublime,现在归纳一下配置流程,ps:本人有点 ...

  6. Android源代码解析之(十三)-->apk安装流程

    转载请标明出处:一片枫叶的专栏 上一篇文章中给大家分析了一下android系统启动之后调用PackageManagerService服务并解析系统特定文件夹.解析apk文件并安装的过程,这个安装过程实 ...

  7. fastdfs基本安装流程和集成springboot总结

    FastDFS介绍 1.简介 FastDFS 是一个开源的高性能分布式文件系统(DFS). 它的主要功能包括:文件存储,文件同步和文件访问,以及高容量和负载平衡.主要解决了海量数据存储问题,特别适合以 ...

  8. iOS 最新版 CocoaPods 的安装流程

    iOS 最新版 CocoaPods 的安装流程1.移除现有Ruby默认源$gem sources --remove https://rubygems.org/2.使用新的源$gem sources - ...

  9. 最新版 CocoaPods 的安装流程

                                       iOS 最新版 CocoaPods 的安装流程     1.移除现有Ruby默认源 $gem sources --remove h ...

随机推荐

  1. 初探Lambda表达式/Java多核编程【2】并行与组合行为

    今天又翻了一下书的目录,第一章在这之后就结束了.也就是说,这本书所涉及到的新的知识已经全部点到了. 书的其余部分就是对这几个概念做一些基础知识的补充以及更深层次的实践. 最后两个小节的内容较少,所以合 ...

  2. Win8下,以管理员身份启动VS项目

    之前一直是先以管理员身份启动VS,然后再打开项目的,比较麻烦,找了好久,总算有一个处理方案了 在Windows7下 通常使用修改属性的方式:在任意快捷方式上右击,选择属性,选择高级,选择以管理员身份启 ...

  3. webpack1.x 升级到 webpack2.x 英文文档翻译

    近日项目要升级到webpack2.2,原来使用的webpack版本是1.12,在升级项目的同时,翻译一下官方的升级文档,去掉了一些不常用的配置 resolve.root, resolve.fallba ...

  4. jQuery源码学习:Deferred Object

    本文所有讨论均基于jQuery版本3.1.1,官网http://jquery.com/. 一.Deferred Object 1. 简介和创建 详见API:http://api.jquery.com/ ...

  5. Weinre 远程调试移动端页面

    Weinre 是一款远程调试工具,使用JS编写, 可以让我们在电脑上直接调试运行在手机上的远程页面,当你的代码已经发布上线,这时候出现了问题,Weinre就可以帮你调试. 调试场景 调试页面在手机上. ...

  6. 2017-2-19 C#基础 基本数据类型的转换,转义字符,常量

    1.基本数据类型的转换分两种:自动转换(隐式转换)和强制转换(显式转换).自动转换是从只类型转换到引用类型.强制转换是最长用的,是从引用类型转换到值类型或者从浮点型转换到整形.强制转换主要有三种形式: ...

  7. HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(二)

    HTTP严格安全传输(HTTP Strict Transport Security, HSTS)chromuim实现源码分析(一) 下面来查看其他对保存HSTS信息的enabled_sts_hosts ...

  8. JavaScript学习--8.1

    JavaScript学习--8.1(常见的js代码兼容工具总结) 1.取css样式表和非行间样式的属性 function getStyle(obj,attr){ if(obj.currentStyle ...

  9. vue + socket.io实现一个简易聊天室

    vue + vuex + elementUi + socket.io实现一个简易的在线聊天室,提高自己在对vue系列在项目中应用的深度.因为学会一个库或者框架容易,但要结合项目使用一个库或框架就不是那 ...

  10. Java Trie树

    Tire树,又叫字典树,主要是用来查找单词,词频统计的. 老规矩,直接上代码. package tireTree; public class TireTree { TireNode root; pub ...