悲剧了,本周5刷机成僵尸大战2了,怎么办

iOS 如何使用 TestFlight 进行 App Beta 版测试 - IOS - 伯乐在线
& iOS 如何使用 TestFlight 进行 App Beta 版测试
在2014WWDC中库克用了20秒的时间,简短的3句话,介绍了测试版本的TestFlight服务。TestFlight用于将Beta版测试,TestFlight已经被苹果收购,所以不要担心存在第三方测试造成数据泄露问题。TestFlight需要iOS8及以上版本的iOS设备才能运行,所以iOS7及之前的设备就不能安装了。TestFlight整合进了iTunes Connect,开发者可以通过电子邮件来邀请测试员来进行测试,这样开发者就可以更简单地让你的同行非同行、你的上级、你的客户、你所想要一起参与测试的人一起来测试应用。
TestFlight的测试方式分为两种:
一种是内部测试;
一种是外部测试。
从功能上讲,这两种方式都可以为测试人员在测试阶段对你的App进行测试。但是既然分了内部测试和外部测试,他们肯定还是有区别的,所谓的内部主要是指iTunes Connect上在你的开发团队里参与技术开发或者管理的成员。最多可以邀请25个内部成员,而与之相对的外部测试,指的是那些不属于你的团队或者公司的测试者,外部测试人员的上限是2000人。这里有一点需要注意的是,在你邀请外部成员参与测试之前,需要先通过苹果的审核,一般审核会在一天左右。而这一限制在内部成员上就没有,也就是说只要你把你的App上传到iTunes Connect上之后内部成员就可以开始进行内部测试了,无需审核。在邀请发出后,有效测试时间为60天。
1、现在公司也有使用比较老的测试方法,就是需要提供参与app测试人员的设备UDID,并且开发者需要将这些设备的UDID添加到开发者中心,每次有新的测试人员加入,需要重新生成profiles,重新打包,最可恶的是,只能添加100台设备的限制,总体来说,比较笨拙。
2、使用TestFlight测试的好处,只需要参与app测试人员提供一个邮箱,开发者登录iTunes Connect,给测试者发送邀请,测试者接受邀请,然后通过TestFlight,下载安装程序。不需要用户提供设备的UDID,最重要的一点是没有了100台设备的限制,一般内部测试人员最多25个人,外部测试人员最多2000个人,重点是不需要重新配置证书了,也不需要手动发送ipa包, 直接上传到iTunes即可。
3、然而,也有其他公司在使用蒲公英等其他参与测试。
接下来介绍一下TestFlight如何使用:
一、开发者需要做的事情
1、进入网址: 输入账号密码登录iTunes Connect。
Paste_Image.png
2、成功登录iTunes Connect,点击我的App,进入App列表页
Paste_Image.png
ps:如果是初次创建的 App,需要创建一个 iTunes Connect Record。如果你的 App 已经创建好了,可以直接跳过这段,如果你要新建一个 App 的话,可以按照下面的步骤来做:
(2)、在 iTunes Connect 的首页,点击‘My Apps’图标。
(3)、开发者第一次进到这里的时候,这里是个空白页。点击左上角的‘+’号按钮,创建一个新的 App 。在你创建了 App 之后,这里会显示你创建的 App 列表。
Paste_Image.png
(4)、选择‘New App’。如果你只是 iOS 平台的开发者,这里不会出现其它的选项(如‘New Mac App’)。
Paste_Image.png
(5)、填写好如下弹窗内的信息,点击‘Create’按钮完成创建。
Paste_Image.png
(6)、对于一些必填信息,如果未填写的话,Apple 会在对话框内给出如下提示:
Paste_Image.png
(7)、提交App到iTunes connect。
在 Xcode 中配置好版本和证书信息。
选中菜单‘Product-&Archive’将当前代码归档,归档完成后会弹出‘Organizer-Archives’对话框。
选择‘Validate’按钮来检测该归档文件是否符合要求。
验证通过之后,你可以选择‘Submit’来提交这个归档。
3、每当你提交一个新的build之后,在 iTunes Connect的列表中都会对应的增加一个build。
Paste_Image.png
选择TestFlight,在TestFlight中填写基本信息接收反馈的邮箱地址,隐私政策网址等。
Paste_Image.png
Paste_Image.png
Internal Testing:内部测试
External Testing:外部测试
4、邀请测试人员
(1)、内部测试:
点击Internal Testers,添加测试人员(一般内部测试人员最多25个人)
Paste_Image.png
Paste_Image.png
Paste_Image.png
点击Select Version to Test,添加测试版本
Paste_Image.png
选中一个版本,点击OK
Paste_Image.png
Paste_Image.png
点击Start Testing,之后会收到两封邮件,一封是邀请你加入测试组的邮件,点击同意即可,另一封是成功加入测试组的通知,点击start testing然后跳转到有加粗黑色字体的8个字母测试码的页面,下载TestFlight,然后点击Redeem,输入这8个字母即可下载测试app。
Paste_Image.png
点击Start Testing
Paste_Image.png
Paste_Image.png
(2)、邀请外部测试人员
Paste_Image.png
点击External Testers,选择添加新测试员,或者使用CSV批量导入邀请外部测试人员。
Paste_Image.png
输入电子邮件,名称和姓氏可不填,点击添加。
Paste_Image.png
点击Add Build to Test,添加测试版本
Paste_Image.png
点击Next,进入下一步
Paste_Image.png
填写测试版本的一些信息,点击Next,进入下一步
Paste_Image.png
填写联系人信息,和 Beta App Review审核的测试账号,点击Next,进入下一步
Paste_Image.png
填写审核信息,然后点击submit,提交 Beta 审核,目前来看,Beta 审核还是比较快速的,有时候一个工作日就可以通过审核。可能是现在使用 TestFlight 功能的 App 还不太多吧;不知道等 TestFlight 普及之后,随着参与 Beta Review 的 App 越来越多,Beta 审核还能不能一直这么快。
Paste_Image.png
ps:还需要一提的是,外部测试人员想要参与测试的话,必须要 App 已经通过了 Beta App Review 才行。审核通过,点击Invite邀请按钮,测试者会收到来自TestFlight Beta Testing的邀请邮件。
二、开发者需要做的事情
1、在AppStore上面搜索“TestFlight”
41B2276FCDA66F7CC7A7.png
2、下载TestFlight
F258AB15D16866DDF08EDE25.png
3、打开TestFlight进行使用
%PIDKXC5OC%18572ZK6W2.jpg
(1)、应用提示是否允许“推送通知”,一般是允许的,提醒测试新版本;
(2)、这时候TestFlight内是没什么内容可看的;
(3)、等待开发者邀请测试。(注意查看关联Apple ID邮箱的邮件,2封邮件)
4、接受邀请iTunes Connect
Paste_Image.png
(1)、打开邮箱邮件(电脑和手机操作都可以);
(2)、点击邮件详情里面的“activate your access”,跳转到iTunes Connect登录页;
(3)、登录Apple ID账户,按提示勾选同意协议接受邀请。
(4)、这是第一封邮件,只有邀请加入开发者用户才会收到。只需要接受一次即可。
Paste_Image.png
Paste_Image.png
5、接受TestFlight测试邀请
(1)、打开邮箱邮件(电脑和手机操作都可以,推荐手机操作。);
(2)、点击邮件详情里面的“Start Testing”;
(3)、打开“TestFlight”(手机操作第2步会自动打开TestFlight);
(4)、在TestFlight显示App信息,可以接收测试邀请“Accept”。
ps:这是第二封邮件,只有邀请加入应用测试的才会收到。只需要接受一次即可。
电脑操作要有这3步:
(1)、Get TestFlight from the App Store
(翻译:到App Store下载TestFlight)
(2)、Open TestFlight and choose Redeem
(翻译:打开TestFlight选择Redeem)
(3)、Enter xxxxxx and start testing
(翻译:输入验证码,然后开始测试)
6、打开TestFlight,输入验证码,Install应用。
ps:安装完应用,会发现右侧有一个橘红色的点点。
可能感兴趣的话题
关于iOS频道
iOS频道分享iOS和Swift开发,应用设计和推广,iOS相关的行业动态。
新浪微博:
推荐微信号
(加好友请注明来意)
– 好的话题、有启发的回复、值得信赖的圈子
– 分享和发现有价值的内容与观点
– 为IT单身男女服务的征婚传播平台
– 优秀的工具资源导航
– 翻译传播优秀的外文文章
– 国内外的精选文章
– UI,网页,交互和用户体验
– 专注iOS技术分享
– 专注Android技术分享
– JavaScript, HTML5, CSS
– 专注Java技术分享
– 专注Python技术分享
& 2017 伯乐在线苹果开发者请注意,Testflight不能像以前一样测试了!
苹果开发者请注意,Testflight不能像以前一样测试了!
对于苹果开发者而言,Testflight是我们再熟悉不过了的东西。在开发者要发布自己的APP前都会通过Testflight测试APP的稳定性,是否在各个设备运行正常。
近期苹果对Testflight进行了很大的改版,众所周知,之前在Testflight里面分为“内部测试员”和“外部测试员”。内部测试员一般是公司内部人员,比如销售、运营或者忠实客户之类的。外部测试员可是理解为公测,不需要在“用户与智能”处添加为用户就可以测试,但是前提是要提前通过苹果的审核。
现在我们来看看具体有哪些细节的变化吧。以前我们添加内部测试员的时候需要在“用户与职能”处添加一个测试员,并且定义一下权限。
这个被添加为测试员的用户必须要登陆 itunes Connect 确认信息。
测试员必须同意协议
之后APP管理员才可以在Testflight把他添加为内部测试员。
确认测试后,用户会收到邮件,之后再在邮件内获取到测试验证码,再通过APP TestFlight就可以开始测试该APP了。
测试员操作流程页面
但是在改版后,APP管理员不需要再去“用户与智能”添加用户,再设置为内部测试员了。每次开始测试前都需要填写“测试信息”。包括测试联系信息,反馈信息都需要完整的填写。
测试信息必须完善
之后我们必须要创建一个群组,群组名称可以自定义,在群组创建好在群组里面添加测试用户的Apple ID 和名字。
添加测试员
之后在在这个给这个群组内添加一个构建版本。也就是说,我们可以给不同的用户组添加不同的构建版本。
添加构建版本
看完这个简要的介绍,我想大家应该明白了,苹果这次对Testflight的改版有三个非常重要的改变。
每次测试都需要完善一次信息,管理员不能像以前一样一直给用户重复的测试信息。
可以添加群组,给每个群组推送不同的测试版本。
不再需要把用户添加为内部人员就可以开始测试。25. 自动化工具Fastlane笔记一: 安装, 打包,上传(testFlight,aap store) - 推酷
25. 自动化工具Fastlane笔记一: 安装, 打包,上传(testFlight,aap store)
因为初探,只是简单的介绍了 fastlane安装 和 针对fastlane生成目录下的配置文件中的内容进行分析 。关于如何screenShot等其他的用法并没有探究和写明,之后在自己尝试之后,肯定会更新相关文章。
这里还是先使用,穿插概念的模式。文章中大量引用了
文章中段落,在这里非常感谢Wang Hailong,因为他写的已经足够的简练,所以我没必要再重复造轮子,他的文章地址会在本章最末写出。
我想大家能够快速搜索到这篇文章,已经对自己的业务需要了解的很清楚了。就我们公司而言,因为是同时服务很多个客户,所以每次打包的时候,都会花费开发人员很多时间。 所以,上马一个自动化工具,迫在眉睫。 当然,我们也尝试过把打包这个没有任何技术含量的工作交给售后和其他岗位的同事去做,但是打包过程中,遇到一点问题,开发人员还是会被叫过去解决问题,一来二去,还不如开发人员自己打包快。
什么是Fastlane?
官方自己的定义是这样的: fastlane is a tool for iOS, Mac, and Android developers to automate tedious tasks like generating screenshots, dealing with provisioning profiles, and releasing your application. 从这里我们可以看出,fastlane针对的developers主要是 iOS, Mac, and Android。目的在于替代完成一切 没有技术含量的、乏味 的工作。简单列举了比如screenshot,provisioning profiles,deliver。
我们第一次接触fastlane或者之前从来没有使用过CLI工具的人,对于上边的概念描述只能知道他的功能,但是不知道fastlane到底是哪个类型的工具,怎么实现上边功能。 关于这一点,我在阅读
的文章得到了很简练的答案,摘录如下:
“` fastlane命令是一个流程控制的命令行工具(CLI),通过内部集成action和第三方的action完成一系列控制流程。运行fastlane命令行工具,会读取当前目录或者./fastlane目录下的Fastfile配置文件。
在Fastfile中:
action =& Fastlane中的每一条命令都是一个扩展(action),上面提到的deliver,sigh之类的工具本身是CLI,但是在Fastlane中内嵌了对他们支持的action lane =& Fastlane中流程的合集,每一个动作即可以是action,也可以是其他的lane。语法和ruby中的rake非常像 一个简单的发布流程:
lane :deploy do # 执行 pod instasll cocoapods # 执行 carthage bootstrap carthage # 增加build版本号 increment_build_number # 编译代码 gym # 发布到Apple Store deliver(force: true) end
读到这里,如果你不是很清楚的理解lane和action的具体含义,那么可以暂时放下,我在下边小结中会提到这个两个概念。 只要关注第一段话就好。
很负责任的告诉大家,fastlane的使用非常通俗易上手,所以我们大部进行不下去的环节是安装的部分。 尤其是并不经常使用终端工具的朋友。
首先:fastlane安装的方式有三种,分别是 Homebrew 、 Installer Script , Rubygems 。 这里需要注意的是,不管选择哪种方式,你都要安装Ruby。
我使用的是 Rubygems 的方式。
关于我自己在安装的过程中遇到的坑,主要是集中在系统是OS X 10.11的时候,ruby版本2.4,安装fastlane遇到问题,后来在issues上发现有很多人遇到了和我同样的问题,最后在我自己的电脑上安装成功。年后上班,开始在公司的电脑上安装fastlane, 把系统升级到10.12最新版本之后, Rubygems 安装一遍过。 关于这一点,我猜想是fastlane的最新版本在安装的时候,针对非最新系统支持不好。当然,只是猜测。
其他:* 安装Ruby/Rubygems,这里注意你在下来一个 Ruby 版本之后,之前的 Ruby 也是存在的,所以你需要通过 rvm use XXXX --default 指定你要使用哪一个 Ruby 版本,具体可以参考这篇文章
* 如果你选择 Homebrew 安装,那么你需要在终端上安装 Homebrew ,具体可以参考这篇文章
“` 确保Xcode Command Line Tools 安装了最新版 xcode-select --install
如果你单独安装过ruby(如果你能看得懂这句),去掉sudo。如果使用系统自带的ruby,需要sudo权限 [sudo] gem install fastlane “` —(引用自
提示安装成功,恭喜你,你已经成功了一半。
cd 到项目根目录下,然后执行 fastlane init 执行过程中,会让你手动输入 Apple ID , Password , Team 等相关问题。成功之后,你将会在跟目录下看到 fatlane 这个文件夹
这个目录下,就包含了我们之后关于 打包 , 上传 以及 屏幕截图 等等的配置文件。
关于这个部分的具体过程和 fatlane 的目录结构,还是援引
的文章,如下:
“` 在项目根目录下,初始化Fastlane:
fastlane init
提问了你的Apple ID,Team的问题之后,fastlane会自动检测当前目录下项目的App Name和App Identifier。如果检测的不对,选择n自行输入。
接下来会问你这个app是否需要在iTC和ADC中创建(上一步中如果选择y会自动检测是否需要创建),fastlane会调用produce进行初始化,如果现在还不想创建,也可以之后再运行produce init进行这个流程。如果不执行produce的流程,deliver的流程也会被掠过,当然之后也可以deliver init运行完全一样的流程。
在执行deliver init的过程中,会同步iTC中的所有语言的元数据和截图,并按照目录结构组织好。目录结构应该类似下面:
fastlane ├── Appfile ├── Deliverfile ├── Fastfile ├── metadata │ ├── copyright.txt │ ├── en-US │ │ ├── description.txt │ │ ├── keywords.txt │ │ ├── marketing_url.txt │ │ ├── name.txt │ │ ├── privacy_url.txt │ │ ├── release_notes.txt │ │ └── support_url.txt │ ├── primary_category.txt │ ├── primary_first_sub_category.txt │ ├── primary_second_sub_category.txt │ ├── secondary_category.txt │ ├── secondary_first_sub_category.txt │ ├── secondary_second_sub_category.txt │ └── zh-Hans │ ├── description.txt │ ├── keywords.txt │ ├── marketing_url.txt │ ├── name.txt │ ├── privacy_url.txt │ ├── release_notes.txt │ └── support_url.txt └── screenshots ├── README.txt ├── en-US │ ├── 一堆png图片 这里肯定会被创建的是Appfile和Fastfile。如果Deliverfile,screenshots和metadata目录没被创建,可以运行deliver init来创建。
Fastfile =& 用来定义所有的lane任务Fastfile帮助
Appfile =& 是用来存储一些公共信息的,比如app_identifier,apple_id,team_id,itc_team_id等。Appfile帮助
Deliverfile =& deliver的配置文件Deliverfile帮助 PS:
这里有个小问题,iTC和ADC中的Team ID是不一样的,在fastlane init中只会自动在Appfile里写入ADC的team_id,所以在这个过程中会不停的问你iTC的Team ID,所以在创建完Appfile后,手动在里面添加itc_team_id。
这个问答对不同的项目可能有各种各样的分支。我已经用不同的项目试过很多次了,但是可能还不是全部,所以你还需要见招拆招。
在这里可以安心的输入密码,所有的密码都加密保存在系统的Keychain里。
其中 Fastfile , Appfile , Deliverfile 这三个文件,功能如上介绍,如果不出问题的话,大家的这三个文件内容应该是和我一样的如下(可以选择sublime打开,然后把当前显示样式设置为 Ruby ):
“` fastlane_version “2.14.2”
default_platform :ios
platform :ios do before_all do # ENV[“SLACK_URL”] = “/services/…”
desc “Runs all the tests” lane :test do scan end
desc “Submit a new Beta Build to Apple TestFlight” desc “This will also make sure the profile is up to date” lane :beta do # match(type: “appstore”) # more information: https://codesigning.guide gym(scheme: “BlusinessAreaPlat”) # Build your app – more options available pilot
# sh &your_script.sh&
# You can also use other beta testing services here (run `fastlane actions`)
desc “Deploy a new version to the App Store” lane :release do # match(type: “appstore”) # snapshot gym(scheme: “BlusinessAreaPlat”) # Build your app – more options available deliver(force: true) # frameit end
You can define as many lanes as you want
after_all do |lane| # This block is called, only if the executed lane was successful
message: &Successfully deployed new App Update.&
error do |lane, exception| # slack( # message: exception.message, # success: false # ) end end
“` app_identifier “com.xxxx.xxxx” # The bundle identifier of your app apple_id “” # Your Apple email address
team_id “XXXXXXXXX” # Developer Portal Team ID
Deliverfile:
app_identifier &com.xxxx.xxxx& # The bundle identifier of your app
username && # your Apple ID user
在 Fastfile 这个文件中,就是我们 打包 , 发布到fir,testFlight,appstore 等等操作的具体配置文件。
关于Fastfile文件
对照我们上边 fastlane init 命令创建出来的默认是的 Fastfile 默认文件,我们一次解析文件中的「元素」所代表的含义 * fastlane_version =& 指定fastlane最小版本 * default_platform =& 指定当前平台,可选ios,android,mac * desc =& 一个lane(英文翻译是:小巷,小路,我们这里可以理解为任务)的描述,一般说明这个lane是做什么的 * lane : 任务的名字 do =& 指定任务的名字,我们在执行这个任务的时候,调用命令的格式为 fastlane 任务的名字 ,比如 fastlane release 。 在 Fastfile 文件中会有很多的 lane ,我们通俗的把理解为小任务,每个小任务都负责一个功能。 然后我们调用不同的小任务,来实现打包、上传到development、上传到testFlight、上传到app store等功能。
换句话来说,也就是,我们具体关于怎么打包、怎么上传的配置是放到对应的 lane 里边的
* (lane……)end =& lane到end标识之间的内容,声明了一个任务具体执行哪些操作,不指定哪些操作
我们来看默认生成的一个具体的例子,如下:
* 这个模块是表示我们上传到app store的。 * 这里默认指定了 gym 和 deliver 两个功能模块,这两个模块已经能够保证我们应用打包上传到app store. 但是我们根据自己公司的项目的实际需求,还会定制特有的配置,也是写到这里边。 * 这里 gym , deliver 是 fastlane 工具集中的一个功能模块,这个功能模块包括很多的配置选项,在 lane 中,以 功能模块名字 (配置选项1,配置选项2......) 这种形式表示。这样类似的功能模块还有很多, 官方的列表如下:
中文的解释,可以在
中找到很详细的归纳,如下:
“` Fastlane组件 Fastlane是一套工具集,包括:
scan =& 自动运行测试工具,并且可以生成漂亮的HTML报告
证书,配置文件
cert =& 自动创建管理iOS代码签名证书
sigh =& 一声叹息啊,这么多年和Provisioning Profile战斗过无数次。总是有这样那样的问题导致配置文件过期或者失效。sigh是用来创建、更新、下载、修复Provisioning Profile的工具。
pem =& 自动生成、更新推送配置文件
match =& 一个新的证书和配置文件管理工具。我会另写一篇文章专门介绍这个工具。他会所有需要用到的证书传到git私有库上,任何需要配置的机器直接用match同步回来就不用管证书问题了,小团队福音啊!
snapshot =& 用Xcode7推出的UI test功能实现自动化截图
frameit =& 可以把截的图片自动套上一层外边框
shenzhen =& 当年大名鼎鼎的自动编译工具,现在已经被弃用了
gym =& Fastlane家族的自动化编译工具,和其他工具配合的非常默契
produce =& 如果你的产品还没在iTunes Connect(iTC)或者Apple Developer Center(ADC)建立,produce可以自动帮你完成这些工作
deliver =& 自动上传截图,APP的元数据,二进制(ipa)文件到iTunes Connect
TestFlight管理
pilot =& 管理TestFlight的测试用户,上传二进制文件
boarding =& 建立一个添加测试用户界面,发给测试者,可自行添加邮件地址,并同步到iTC 辅助工具
spaceship =& 为pilot,boarding和deliver等工具提供和 iTC 和 ADC 的交互API。spaceship本来是个独立的项目,后来被Fastlane收编进来
WatchBuild =& 是一个独立的iTC监控工具,开启WatchBuild可以监控iTC上的文件状态,弹出MacOS自带的Notification
supply =& 自动上传到Google Play工具(如果有时间,我想把国内提供API的Android Store都写个插件自动上传,这个问题从10年我刚开始工作就觉得是个痛点)
screengrab =& Android的自动截图工具 “`
每个小功能模块下,都有针对自己的具体的 配置项 ,这里我就不拉长篇幅了,在
的文章中也可找到,他已经做了很好的归纳。
这里再执行打包就很简单了,默认 Fastfile 中包含 gym 这一个功能模块的 lane ,都可以执行 打包 操作。 在 gym 中指定 output_directory 一项来指定输出的.ipa文件的输出目录,如果不指定的话,只在项目根目录下。
执行 lane 命令:
fastlane lane的名字
在我们 fastlabe init 命令成功执行完毕,并且各项profile安装正确的情况下, 直接执行下边命令:
fastlane release
经过一大串的运行之后,就可以上传到app store。当然,我这里这是说的默认没有特殊需求的情况下,如果你有特殊需求,你完全可以自定义一个名字叫做 deploy 的关于上传到app store的 lane 。 这里给大家附上一个
自定义的 lane ,如下:
# You can define as many lanes as you want
desc &Deploy a new version to the App Store&
lane :release do |op|
increment_version_number(version_number: op[:version]) #根据入参version获取app版本号
increment_build_number(build_number: op[:version])
#将build号设置与app版本号相同
# 设置app的info.plist文件项
set_info_plist_value(path: &./xxx/Info.plist&,
#info.plist文件目录
key: &UIFileSharingEnabled&,
# key,将plist文件以Source Code形式打开可查询对应的key
value: false)
# 设置自定义plist文件项,用于给app配置不同的服务器URL
set_info_plist_value(path: &./xxx/hostAddress.plist&,
key: &host&,
value: &https:/zhengshiServer:xx/xxx/xxx&)
# 更新Provisioning Profile
# 在项目当前目录下创建provisions文件夹,并将App Store版本的.mobileprovision文件保存在里面,名称随意。
update_project_provisioning(profile: &./provisions/appstore.mobileprovision&)
# 更新项目团队
update_project_team(path: &xxx.xcodeproj&,
teamid: &5JC8GZ432G&)
# 开始打包
gym(use_legacy_build_api: true,
output_name: &appstore&,
# 输出的ipa名称
silent: true,
# 隐藏没有必要的信息
clean: true,
# 在构建前先clean
configuration: &Release&,
# 配置为Release版本
codesigning_identity: &iPhone Distribution: xxx Co.,Ltd. (5JC8GZ432G)&,
# 代码签名证书
buildlog_path: &./fastlanelog&,
# fastlane构建ipa的日志输出目录
output_directory: &/Users/xxx/Desktop&)
# ipa输出目录
这里,因为初探,其他部分我只测试过上传到testFlight。其实,经过我们的试验,我们只要打开testFlight,我们不管是单独上传到testFlight,还是上传到app store,只要版本号大于testFlight正在部署的构建版本,那么苹果会自动把最新(刚上传)的构建版本,自动部署,并且给测试用户发送邮件通知,提示他们更新内测应用。所以,这里关于testFlight上传到哪里,并不是很重要了。
因为是初探,所以我们只写了fastlane非常基础的功能部分。fastlane作为一个流行的自动化打包工具,他的强大和功能的丰富性,远远不止如此,他可以帮助我们管理profile文件,也可以利用UI Test来实现屏幕展示截图screenShot等等解放我们双手的操作。如果大家想要研究screenShot可以看下
还有, fastlane还有丰富的插件提供给我们使用。这些插件是独立发布在fastlane之外的,实质是一个或者一组action的打包。
的文章中有关于 fastlane-plugin-versioning 和 fastlane add_plugin firim 这个两插件的应用。
另外,因为fastlane其实是 Ruby 语言写的。如果插件和fastlane仍然满足不了我们的需求和流程需求,我们可以自己写一个action。
Wang Hailong的文章
其他参考资料
已发表评论数()
请填写推刊名
描述不能大于100个字符!
权限设置: 公开
仅自己可见
正文不准确
标题不准确
排版有问题
主题不准确
没有分页内容
图片无法显示
视频无法显示
与原文不一致

我要回帖

更多关于 僵尸大战2 的文章

 

随机推荐