>

你会发现多了一个 fastlane澳门博发娱乐官网 文件

- 编辑:澳门博发娱乐官网 -

你会发现多了一个 fastlane澳门博发娱乐官网 文件

  • xctool是官方xcodebuild的四个抓牢落实,输出的内容比xcodebuild直观可读得多
  • 通过brew就能够安装

二、利用fir-cli举办自动打包并上传到fir。

FIENVISION.im CLI 使用 Ruby 构建,只要安装相应 ruby gem 就能够:

$ sudo gem install fir-cli --no-ri --no-rdoc

编写翻译并得到ipa:

fir build_ipa path/to/project -o path/to/output

一步从源代码到 FI帕杰罗.im

fir build_ipa path/to/project -o path/to/output -p -T YOUR_FIR_TOKEN

详见:http://club.fir.im/topic/54f3d1a474c4c85e73e4ac13

fir.im 是贰个运用内部测量检验托管分发平台。

生成脚本

vim build_using_gym.sh

#!/bin/bash

#计时

SECONDS=0

#假诺脚本放置在与品类一样的渠道下

project_path=$(pwd)

#取当今日子字符串加多到文件结尾

now=$(date +"%Y_%m_%d_%H_%M_%S")

#点名项目标scheme名称

scheme="项目名称"

#钦点要打包的布置行

configuration="Adhoc"

#点名打包所接纳的出口形式,这两天协理app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数

export_method='ad-hoc'

#点名项目地址

workspace_path="$project_path/项目名称.xcworkspace"

#内定输出路线

output_path="project_path/APP"

#点名输出归档文件地址

archive_path="$output_path/项目名称_${now}.xcarchive"

#点名输出ipa地址

ipa_path="$output_path/项目名称_${now}.ipa"

#点名输出ipa名称

ipa_name="项目名称_${now}.ipa"

#获得推行命令时的commit message

commit_msg="$1"

#输出设定的变量值

echo "===workspace path: ${workspace_path}==="

echo "===archive path: ${archive_path}==="

echo "===ipa path: ${ipa_path}==="

echo "===export method: ${export_method}==="

echo "===commit msg: $1==="

#先清空前叁次build

gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}

#上传到fir

fir publish ${ipa_path} -T fir_token -c "${commit_msg}"

#输出总用时

echo "===Finished. Total time: ${SECONDS}s==="

1、安装fastlane

fastlane的设置,很简单只需在终端输入:(需提前设置gem意况)
$ sudo gem install fastlane

当心几点:

将 ENTER_A_UNIQUE_APP_NAME_HERE 替换来二个独一的 App 名字

用以描述这几个 lane 的工作。二个 lane 是一个按梯次实施的专门的学业流。 施行名称为 provision 的 lane。 produce 用钦命的 ID、name、语言和版本号创设三个可用于 iTunes Connect 和 Developer Portal 的 app。 cert 创立叁个新的私钥和签订公约呼吁,下载、安装生成的证件并导入到钥匙串。 sigh 创建了叁个 provisioning profile。force 参数为 true,则每一遍运转时都会创造新的 provisioning profile,那样就能够保障每一趟都应用科学的代码签字证书。

在意:sigh 暗许创设的是 App Store 的宣布 profile。借令你想成立 ad hoc profile,你必要运用 sigh(adhoc:true)。要是是付出 profile 则动用 sigh(development:true)。为不难起见,在本文中您只须求创立 distribution profile。

您今后成立了第4个lane。保存文件,展开终端步入到品种文件夹,输入指令:

fastlane provision

大致一分钟左右,fastlane 会问您 iTunes Connect 密码,它会保留到您的 Mac 的钥匙串里。输入密码,如若实行成功,你的顶点窗口会展现success(忘了截图了...)

只顾:假设你见到错误,比如 “Creation of apps of this type is not available”, 则请登陆你的 iTunes Connect,看一下是不是有几许更新的协商供给您断定。

在进展下一步事先,你还需求在 Xcode 中开展一些修改。张开XXXX.xcodeproj,采用 XXXX Target,切换来 General 页。将 bundle identifier 修改为开首化 fastlane 时输入的 App ID。

在 Build Settings > Code Signing > Provisioning Profile 设为 “ <new 应用程式> AppStore”。然后在 Code Signing Identity 选拔和这个provisioning profile 相对应的 ID:

澳门博发娱乐官网 1

注意,code signing identity 应该和 provisioning profile 中的 identities 相般配。那样,当 gym 编写翻译 IPA 文件时会使用新成立的 provisioning profile。

2017/09/29立异修改project_path在新版fastlane脚本中的获取格局

一、利用xctool进行活动打包

xctool是合法xcodebuild的八个增高落实,输出的源委比xcodebuild直观可读得多,使用起来也更为简明。

brew 又叫Homebrew,是Mac OSX上的软件包管理工具,能在Mac中有益的装置软件依然卸载软件, 只须求一个指令, 非常有利。

因而brew就可以安装xctool

brew update
brew install xctool

包裹基本分为三个步骤:

1.生成archive文件,相当于Xcode的Archive 操作。

xctool build -project (工程路线) -scheme (工程名) -configuration (配置名(Adhoc)) archive -archivePath (生成的.archive文件路线)

2.利用生成的.archive 导出 ipa文件

xcodebuild -exportArchive -archivePath (生成的.archive文件路线) -exportPath (导出的.ipa文件路线) -exportFormat ipa

事先用的Jenkins 用起来太笨重,后来开采法斯特lane 做持续集成挺不错就试了试。脚本打包,然后上传到第三方分发平台,最终发邮件文告某个人

3、使用fir

安装fir-cli
$ gem install fir-cli
安装后得以先实施登录操作,登入后在持续操作中能够不用重新增加加token了(token须求到fir个人账号中获得,如图),登录方法:

澳门博发娱乐官网 2

fir token截图.png

$ fir login TOKEN
公布ipa到fir,须求提前图谋好ipa文件,试行
$ fir publish APP_FILE_PATH

四、登入iTunes Connect查看新建APP

登陆进 iTunes Connect !你的 app 已经创造好了,nice!

澳门博发娱乐官网 3

只需求一条命令,你就在 iTunes Connect 和 Dev Portal 中开创了叁个 app 和贰个 provisioning profile。几乎很爽嘛。

PS:你的开辟者账号必需是付费的。也许参预了开拓组,并且开通了iTunes Connect管理员权限才方可选拔法斯特lane。

那么初级应用篇就先介绍到此地了。待笔者再深刻理解下,再更新法斯特lane的越多用法。

法斯特lane有非常多的效用,以后会尽量多的开掘出来,供大家使用~

实施脚本

./build_using_gym.sh

2、使用gym工具

在设置fastlane时已私下认可安装了常用工具,所以不须求别的安装gym工具
调用gym要求cd到品种目录,然后实行
$ fastlane gym
本条命令是半自动打包然后推送到ITunesConnect中,在那个进度中须要输入AppId及密码。
一经无需提交到ITunesConnet中,可施行
$ fastlane gym --export_method ad-hoc
会自动生成ipa文件,以便后续操作。
*****详细的gym命令请参见gym文档

三、生成证书和 Provisioning Profile

在任性文本编辑器(推荐应用Xcode)中开荒 法斯特file 文件,将内容替换为:

# Minimum version of fastlane

fastlane_version"1.104.0"  #细心要换到你的fastlane版本

default_platform :ios

platform :ios do

#1

desc"Creating a code signing certificate and provisioning profile"

#2

lane :provision do

#3

produce(

app_name: 'ENTER_A_UNIQUE_APP_NAME_HERE', #沟通你的应用软件 name

language: 'English',   #能够换语音

app_version: '1.0',   #APP版本

sku: '123abc'     #sku换到你自身的

)

#4

cert

#5

sigh(force: true)

end

error do |lane,  exception|

# This block is called,if there was an error running a specific lane.

end

end

sudo gem install fastlane

不断集成人中学境遇的局部主题素材

1: {"code":501,"message":"Unknown method","data":[]} curl: (6) Could not resolve host: APP 上传API地址错误

2: curl: (26) couldn't open file  上传应用时候 应用路线不对

3: {"code":2,"message":"Data of file can not be empty","data":[]}===Finished 应用路线不对 少@

4: ./build_using_gym.sh: line 39: gym: command not found

sudo gem install gym

Fetching: gym-2.0.0.gem (100%)

ERROR:  While executing gem ... (Errno::EPERM)

Operation not permitted - /usr/bin/gym

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

5:ERROR: While executing gem ... (Errno::EPERM) Operation not permitted - /usr/bin/xcodeproj

This likely happens because you updated the rubygems gem of your system ruby installation. The default one that ships with macOS customises the default binary directory, but if you update it to any other version (e.g. by doing gem update —system), you will lose that. sudo gem install fastlane -n /usr/local/bin should work as an alternative.

4、自动化打包

为了兑现一键打包的方案,须要将gym和fir结合到一块,这里运用了三个剧本文件,在应用时一直试行那几个剧本文件就能够,文件内容如下:

#设置超时
export FASTLANE_XCODEBUILD_SETTINGS_TIMEOUT=120
#计时
SECONDS=0
#假设脚本放置在与项目相同的路径下
project_path=$(pwd)
#取当前时间字符串添加到文件结尾
now=$(date +"%Y_%m_%d_%H_%M_%S")
#指定项目的scheme名称
scheme="fastlaneDemo"
#指定要打包的配置名
#测试环境测试包 configuration="Debug"
#正式环境测试包 configuration="Release"
configuration="Adhoc"
#指定打包所使用的输出方式,目前支持app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数
export_method='ad-hoc'
#指定项目地址
workspace_path="$project_path/fastlaneDemo.xcworkspace"
#指定输出路径
output_path="/Users/songjichao/Desktop/sh_auto_package"
#指定输出归档文件地址
archive_path="$output_path/fastlaneDemo_${now}.xcarchive"
#指定输出ipa地址
ipa_path="$output_path/fastlaneDemo_${now}.ipa"
#指定输出ipa名称
ipa_name="fastlaneDemo_${now}.ipa"
#获取执行命令时的commit message
commit_msg="$1"
#输出设定的变量值
echo "===workspace path: ${workspace_path}==="
echo "===archive path: ${archive_path}==="
echo "===ipa path: ${ipa_path}==="
echo "===export method: ${export_method}==="
echo "===commit msg: $1==="
#先清空前一次build
fastlane gym --workspace ${workspace_path} --scheme ${scheme} --clean --configuration ${configuration} --archive_path ${archive_path} --export_method ${export_method} --output_directory ${output_path} --output_name ${ipa_name}
#上传到fir
fir publish ${ipa_path} -T "TOKEN" -c "${commit_msg}"
#输出总用时
echo "===Finished. Total time: ${SECONDS}s==="```
(1、使用该文件需要项目支持CocoaPods;2、本项目的项目名称是fastlaneDemo,在实际使用时需要将fastlaneDemo替换成自己的项目名称;3、需要将TOKEN换成自己的fir token)
如文件名文AutoPack.sh,为脚本添加执行权限
`$ chmod +x AutoPack.sh`
打包时只需要在cd到项目文件下,执行:
`$ ./AutoPack.sh`
执行后会自动打包,ipa文件自动存储到工程文件同目录下的IPA文件夹下,并且会自动提交到Fir上,整个流程执行结束后会提示完成时间,如出现错误也会打印出来。
#5、遇到的问题
在执行上传到Fir上的时候遇到了SSL证书报错,最后找了半天原因是Ruby的数据源地址使用的https地址,换成http地址即可。[解决办法戳这里](https://github.com/FIRHQ/fir-cli/issues/122)
(我把ruby环境升级了,gem也升级重新走了上面一遍流程就OK了)
#####针对我的问题解决步骤:
SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certif

查阅当前你的ruby版本
$ ruby -v (以前的时候是2.0版本 晋级之后是2.3.4版本)

下载最新版本的ruby
$ rvm install 2.3 (安装时间较长)

查看当前的ruby有哪多少个版本
$ rvm list

查看当前的ruby版本
$ rvm current

修改私下认可和当前的ruby版本
$ rvm --default use 2.3.0

查阅现在的ruby源 $ gem sources –l
退换最新的ruby源https://gems.ruby-china.org (或http://gems.ruby-china.org)
(1)可以用一条语句:
$ gem sources --add http://gems.ruby-china.org --remove https://rubygems.org/
(2)也能够用两条语句:
$ gem sources -remove https://rubygems.org/
$ gem sources -a http://gems.ruby-china.org

创新Mac 的Gem,Gem是处理Ruby库和顺序的标准包
$ sudo gem update -n /usr/local/bin —system

#6、参考
1、[使用fastlane gym/xctool编写ipa打包脚本](http://www.jianshu.com/p/54ab07f2e63b/)
2、[Fastlane自动化构建工具(完整解决测试和发布流程)](http://www.jianshu.com/p/edcd8d9430f6)
3、[Fastlane + Bugly自动化部署测试包](https://juejin.im/post/58c237cd44d9040068e80be1)
4、[iOS App 自动化上传 AppStore ,一键部署 App](https://github.com/mythkiven/AD_Fastlane)
#7、上传蒲公英点[这里](http://www.pgyer.com/doc/view/fastlane)

二、打包ipa

1.创办并编辑脚本

vim build_using_gym.sh

2.复制如下代码到build_using_gym.sh文件中,修改项目名称后保存

#!/bin/bash

#计时

SECONDS=0

#一经脚本放置在与类型同样的路径下

project_path=$(pwd)

#取当今天子字符串加多到文件结尾

now=$(date+"%Y_%m_%d_%H_%M_%S")

#点名项目标scheme名称

scheme="项目名称"

#钦命要打包的布置名

configuration="Adhoc"

#钦命打包所采用的输出方式,方今支撑app-store, package, ad-hoc, enterprise, development, 和developer-id,即xcodebuild的method参数

export_method='ad-hoc'

#点名项目地址

workspace_path="$project_path/项目名称.xcworkspace"

#钦命输出路线

output_path="project_path/APP"

#点名输出归档文件地址

archive_path="$output_path/项目名称_${now}.xcarchive"

#点名输出ipa地址

ipa_path="$output_path/项目名称_${now}.ipa"

#点名输出ipa名称

ipa_name="项目名称_${now}.ipa"

#获得实行命令时的commit message

commit_msg="$1"

#输出设定的变量值

echo"===workspace path: ${workspace_path}==="

echo"===archive path: ${archive_path}==="

echo"===ipa path: ${ipa_path}==="

echo"===export method: ${export_method}==="

echo"===commit msg: $1==="

#先清空前一遍build

gym--workspace ${workspace_path}--scheme ${scheme}--clean--configuration ${configuration}--archive_path ${archive_path}--export_method ${export_method}--output_directory ${output_path}--output_name ${ipa_name}

#上传到fir 假使不想上传就注释掉

fir publish ${ipa_path}-T fir_token-c"${commit_msg}"

#输出总用时

echo"===Finished. Total time: ${SECONDS}s==="

3.为脚本加多施行权限

chmod +x build_using_gym.sh

4.运行build_using_gym.sh脚本

./build_using_gym.sh

5.打包完成,success!

项目根路线下APP文件夹

澳门博发娱乐官网 4

  1. 安装xctool

shell发邮件

奇迹会采纳脚本完结一体系的自动化职业,职业完结后还索要邮件文告相关人士,此时得以选拔第三方的工具:SendEmail,最新版本sendEmail-v1.56.tar.gz

下载地址:

#!/bin/bash

email_reciver="12313@163.com 123123@126.com"

#发送者邮箱

email_sender=213123123@qq.com

#邮箱顾客名

email_username=213123123

#邮箱密码

#使用qq邮箱进行发送必要留神:首先须求开启:POP3/SMTP服务,其次发送邮件的密码供给动用在开启POP3/SMTP服务时候Tencent提供的第三方顾客端登录码。

email_password=ieurwor

file1_path="附属类小部件一路线"

file2_path="附件二门道"

#smtp服务器地址

email_smtphost=smtp.qq.com

email_title="iOS顾客端更新"

email_content="谢谢!"

./sendEmail -f ${email_sender} -t ${email_reciver} -s ${email_smtphost} -u ${email_title} -xu ${email_username} -xp ${email_password} -m ${email_content} -a ${file1_path} ${file2_path} -o message-charset=utf-8

一、初始化Fastlane

1.第一,张开终端窗口,cd 到品种目录。步向项目文件夹之后,输入下列命令

fastlane init

# 注意:假诺您见到一个 “permission denied” 错误,你大概要在命令前增加sudo。

几分钟过后,fastlane 会通过打听下列难点(应该是俄文,小编帮你翻译了),指导您做到安装进度:

请输入  App Identifier (com.krausefx.app):

请输入三个独一的 app ID。请牢记那些 ID,因为前边你还只怕会用到它! 你的 Apple ID (fastlane@krausefx.com):

请输入你的 Apple ID 是或不是创立 deliver 命令,即上传 app 荧屏截图、app 元数据和 app 更新到 App 商号或然苹果的 TestFlight?(y/n)

输入 n 是还是不是创设 snapshot 命令,它会自动获取 app 在装有语言和设施等级次序上的显示器截图?(y/n)

输入 y 是不是选取 sigh 命令,它会尊崇和下载 app 的 provisioning profile?(y/n)

输入 y 可选用:app 的 scheme 名称:(假使不供给,直接回车)

设置到位今后,你会意识多了三个 fastlane 文件夹,里面内容如下:

澳门博发娱乐官网 5

其中:

Appfile, 用于寄放 app ID 和你的 Apple ID。 法斯特file, 用于管理你所开创的 lane,lane 则会调用 action。

恭贺您!你将来能够利用 fastlane 了。

本文由胜博发-编程发布,转载请注明来源:你会发现多了一个 fastlane澳门博发娱乐官网 文件