In House打包流程
在一个app历经数周持续开发和多个版本快速内部迭代之后,当我们需要把这个版本发布到我们实际应用场景中,面对我们真实用户去say hi时,如果自身产品在发布(内测版本)之前确实找到一些潜在切相对稳定的种子用户,你应该会经常听到用户抱怨问题.往往集中如下几个点上: 是否真的解决我的需求? 版本获取的流程是否复杂? 版本发布响应速度是否足够快? ... ...等等. 当你真的开始面对最终用户,你才发现这只是一个开始...
![](http://upload-images.jianshu.io/upload_images/122936-2ec9d12b0d21711b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
抛开产品自身问题而言,快速而稳定响应速度成为决定是否能够留下种子用户一个很关键的key.
A:iOS账号类型
其实针对应用分发,iOS平台已经针对不同使用场景做了充分考虑,这直接体现不同的账号类型上.苹果开发者计划分为个人、公司、企业、和教育开发者四种账号类型.个人开发者账号应该是最为常见的,年费为$99刀一年,该账号在App Store销售者只能显示个人的ID.并且个人账号只能有一个开发者和100个苹果的iOS设备UDID测试. 所以如果你的应用要发布种子测试使用,100个UDID还是非常捉襟见肘的.
![](http://upload-images.jianshu.io/upload_images/122936-184d476200c6c762.jpg?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
Company开发者年费更个人账户一样也是$99刀一年,该账号在App Store销售者可以显示类似Studios,或者自定义的团队名称。最重要的是公司账号可以允许多个开发者协作开发,比个人多一些帐号管理的设置,可以设置多个Apple ID,分4种管理级别权限,100个苹果的iOS设备UDID测试。但是,申请时需要填写公司的邓白氏编码(D-U-N-S),D-U-N-S邓白氏码可以在苹果官方网站免费申请。
而企业开发者账号费用为$299一年, 该账号开发应用不能发布到App Store,只能企业内部应用,苹果的iOS设备UDID数量不限制。这对大批量使用app来说极为便利,所以企业账号适合不希望上线App Store,但是需要企业内部,比如1000人的iOS设备都部署。
B:发布方式
苹果为了适应不同的使用场景,提供了四种不同的应用发布方式:苹果应用商店发布(App Store),苹果应用商店批量购买发布(Volume Purchase Program),In-House企业应用发布,Ad Hoc应用发布方式.
前两种不在赘述,重点说一下In-House企业应用发布和Ad Hoc两种方式.
In-House企业应用是不能提交到App Store,发布应用的具体内容也是不需要苹果官方审核.安装设备的数量目前也没有任何限制.所以权限最为开放,适合针对支持开放大批量对外用户测试使用.所以你看到很多第三方开放渠道下载IPA其实基于其他企业账号来支持的.
当然相对于In-House方式开放测试方式,苹果公司为了方便应用开发者在真机上进行应用测试,也支持Ad Hoc方式发布应用,应用的具体内容也不需要经过苹果的评审,但限制每个应用不能发布到超过100个设备上。如果应用需要小规模的测试或者企业规模很小可以采用这种方式发布企业应用.
C:In-House发布流程
首先进入登录企业级账号Member Center,在Certificates-Production中创建一个证书:
![](http://upload-images.jianshu.io/upload_images/122936-29b6f1d0dc0d0602.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
选择In-House and Ad Hoc,点击继续.注意的是,如果已经创建了In-House的证书,就不能再创建了,该选项会变灰,如下图。如果要重新创建,可以先在之前的列表中将该证书Revoke掉:
![](http://upload-images.jianshu.io/upload_images/122936-64782fcc458a3568.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
点击新建进入下一步需要上传一个证书,在Mac系统中进入"钥匙窜访问",选择“钥匙串访问”-“证书助理”-“从证书颁发机构请求证书”:
![](http://upload-images.jianshu.io/upload_images/122936-21b7231956692741.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
输入常用邮箱地址,并存储到本地:
![](http://upload-images.jianshu.io/upload_images/122936-38604b955ad40be8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
将生成的“CertificateSigningRequest.certSigningRequest”文件上传到开发者中心,点击下一步生成,最后将生成的证书下载到本地,双击打开。就可以在钥匙串中看到证书已经成功安装了:
![](http://upload-images.jianshu.io/upload_images/122936-747cb3229f0b2fe9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
重新回到开发者中心Member Center,在“Identifiers”-“App IDs”中创建一个应用对应的App ID,当前使用的是Explicit App ID,Wildcard App ID应该同样也可以:
![](http://upload-images.jianshu.io/upload_images/122936-794fa46561173cd4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
在Provisioning Profiles中添加一个与刚刚创建的AppID相应的Profile,选择“In House”:
![](http://upload-images.jianshu.io/upload_images/122936-c97beed25c982bb5.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
创建的Provisioning File选择刚刚创建的App ID:
![](http://upload-images.jianshu.io/upload_images/122936-ee775e87a965b17b.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
创建并生成Profile后,下载到本地,双击打开,添加到资料库中,然后Xcode在Build Phases中找到Code Signing,把Provisioning File设置刚才创建描述文件.在Coding Signing Identity选择Distribution:
![](http://upload-images.jianshu.io/upload_images/122936-58884fbbabeed1db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1240/q/100)
然后把工程部署Target选成iOS Devices,找到Product->Archive,则自动开始打包.记住对应打包选择账户一定是企业账户,导出IPA文件,整个打包流程就完成.这个IPA文件则可以借助类似TestFlight、Fir、蒲公英这种公共第三方很方便对外进行分发.只需要分享给最终用一个二维码或者一个URL地址用户就可以在设备任何地方打开并下载.非常简单实用且维护成本低廉.
原文链接:http://www.jianshu.com/p/f90d1d397187
著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
In House打包流程的更多相关文章
- [Android Pro] Android 打包流程
Android 打包流程: 官网地址:http://developer.android.com/tools/building/index.html 具体的打包步骤如下: 1:生成R.java类文件:E ...
- webpack学习--创建一个webpack打包流程
创建一个webpack打包流程 首先安装webpack插件 mkdir webpack-demo && cd webpack-demo npm init -y npm install ...
- cordova/ionic打包流程
ionic android 手工打包指令手册 [工作平台要求] 安装 node.js.cordova.ionic(非必须) 等前端相关软件与组件(1)安装 Java-SDK,正确配置系统环境变量 JA ...
- Android Activity启动流程, app启动流程,APK打包流程, APK安装过程
1.Activity启动流程 (7.0版本之前) 从startActivity()开始,最终都会调用startActivityForResult() 在该方法里面会调用Instrumentation. ...
- 从 Android 源码到 apk 的编译打包流程
文中涉及到的工具所在目录:Android/sdk/build-tools.下面开始分解并逐步实现对源码的打包. 编译流程 1. 生成仅包含资源文件的 apk 包和 R.java 文件 根据资源文件和 ...
- APK 的前世今生:从 Android 源码到 apk 的编译打包流程
最近想要研究热修复的原理,并自己实现一套简单的热修复框架(音视频的坑刚挖好就又挖另一个坑了2333),已经在看书入门 c++,方便后续查看业内一些知名热修复框架的源码,另外在涉及编译期/运行时修改代码 ...
- ios证书安装和打包流程
iOS开发流程 1.拿到源文件 2文件目录大致名字 一.证书配置 参考网站:http://www.jianshu.com/p/9d9e3699515e (证书配置参考地址) 准备工作 首先要有苹 ...
- Android APK打包流程
简单build流程图 官网给了我们一张非常简单的编译.打包.apk生成内容以及签名的图片.图片大体介绍了从Project到运行到设备或者模拟器的一个大体流程,我们也从中看到一个完整的apk包含如下内容 ...
- 从Webpack源码探究打包流程,萌新也能看懂~
简介 上一篇讲述了如何理解tapable这个钩子机制,因为这个是webpack程序的灵魂.虽然钩子机制很灵活,而然却变成了我们读懂webpack道路上的阻碍.每当webpack运行起来的时候,我的心态 ...
随机推荐
- Mybatis逆向工程——(十四)
逆向工程可以快速将数据库的表生成JavaBean,同时生成对单标操作的Mapper.java与Mapper.xml,极大地提高了开发速度. 1.jar包
- 『记录』Android参考资料
欢迎留言推荐好的教程.资料.博客及作者等. 『记录』Android参考资料 1.前期环境 Android Studio使用Git Android Studio快捷键总结 Android Studio及 ...
- mysql 字符编码设置
安装mysql时如果字符编码为默认值latin1,则需要修改为utf8以便支持中文数据. 命令如下: 1.显示数据库字符集 mysql> show create database test;+- ...
- (windows下)安装mysql
一.先从mysql的官网上下载对应版本的mysql zip包(适用于windows下的) 二.解压zip包放到自定义的文件夹下(我放的是e盘,路径为E:\mysql-5.6.40-winx64) 三. ...
- 如何批量删除word文档中的超级链接?
有时候从网页上copy来的文章中,会带有非常多的链接,这些链接很烦人是吧?如何批量删除(一次性全部删除)word文章中的超链接呢? 有些朋友说,Ctrl+A全选文章,然后点击格式工具栏上的“清除格式” ...
- IntelliJ IDEA快捷键:Esc
the Esc key in any tool window moves the focus to the editor. 任何工具窗口都会将焦点移动到编辑器.
- C++ 矩阵库 eigen
找了好久才发现了一个这么方便的C++矩阵库. 官网 http://eigen.tuxfamily.org/index.php?title=Main_Page 参考文章 http://blog.csdn ...
- vue1.0到2.0
vue1.0到2.0 vue2.0 新手教程(一) 想想自己写vue的项目也写了一年了,从vue1.0到2.0,走过不少路,填过不少坑, 下面记录一下新手从0到1的过程,本文“应该”会持续更新 首 ...
- jmeter内存溢出处理方式记录
方法一: 使用jmeter进行压力测试时 遇到一段时间后报内存溢出outfmenmory错误,导致jmeter卡死了,先尝试在jmeter.bat中增加了JVM_ARGS="- Xmx204 ...
- C++雾中风景10:聊聊左值,纯右值与将亡值
C++11的版本在类型系统上下了很大的功夫,添加了诸如auto,decltype,move等新的关键词来简化代码的编写与降低阅读代码的难度.为了更好的理解这些新的语义,笔者确定通过几篇文章来简单窥探一 ...