iOS企业开发者账号实现内部分发
前言
上个月由于公司开发的棋牌类游戏接近尾声,需要大量的苹果测试机来支持,之前只有一个公司开发者账号,每添加新的测试机都需要添加一次UDID,做了不少无用功,再加上本身外包性质的公司导致客户方面频繁更换手机测试app也是个棘手的问题,因此公司又壕气申请了企**业开发者账号,今天就总结下企业开发者账号内部(In-House)应用的分发过程。
什么是企业内部应用
企业内部应用,即只在企业部门和员工内部使用、不对外公开的应用。苹果提供了专门的In-House证书用来发布这种应用,可以分发给任意的手机,只要通过一个URL即可下载安装,不用上传到App Stroe审核,所以一般外包类型的公司因为涉及到项目多,客户杂,所以使用企业内部分发可以省去很多app测试上面的时间。我把企业内部应用也叫做In-House应用。
In-House应用,有时需要根据部门需求进行版本的快速迭代,因为不需要App Store审核,所以可以做到随时修改,随时发布,节省了大量的时间。In-House证书还可以用于应用的内测分发,现在大部分的内测分发平台如蒲公英,Fir.im等的公测功能就是使用In-House证书实现的。
需要准备的文件
1 . 企业开发者账号。99$的个人或公司开发者账号不行,必须以企业的名义申请一个299$的企业开发者账号。
2 . 带SSL证书的域名。企业内部应用需要把ipa文件上传到服务器,然后通过一个链接来下载安装,而苹果很重视安全性,要求这个链接的域名必须具有SSL证书,支持 https ,否则无法安装(这一部分就交给后台的人去做吧)。
3 .ipa文件。
4 .plist文件。名称必须与ipa文件一致,用于配置bundle id、版本号、ipa文件的URL、应用图标等。
5 . @1x 和 @2x 的Icon。下载安装时显示应用图标。
项目打包
1.创建发布证书(Production Certificates),选择In-House类型的,过程我就不赘述了,和其他证书一样。

2.创建配置文件(Distribution Provisioning Profiles)


3.在Xcode-BuildSettings中选择对应的Code Signing 和 Provisioning Profile, Archive

4.导出 ipa 文件

Plist文件
Xcode 5及其以前打包In-House应用会一起生成ipa和plist文件,但Xcode 6 以后就只有ipa文件了,所以要手动生成 plist文件。
文件格式如下:
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
|
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>http://www.xxx.com/ios/xxx.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>http://www.xxx.com/image/xxx.@2x.png</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<true/>
<key>url</key>
<string>http://www.xxx.com/image/xxx.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>http://yangsendev.com/</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>这里用的是中文名称</string>
</dict>
</dict>
</array>
</dict>
</plist>
|
发布与安装
发布
把ipa、配置好的plist 文件和图标交给后台吧,后面就看他们的了。
安装
iOS的企业内部应用是通过访问plist文件来安装的,因为plist文件中包含了对应的ipa文件和图标的URL,iPhone会根据URL自动下载并安装应用程序。
苹果是一个极其重视安全性的公司,iOS 9 以后,安装的企业级应用在第一次打开之前必须要用户手动去信任这些App。
具体步骤如下:
打开 设置 –> 通用 –> 描述文件与设备管理
在 企业级应用 分组下,点击 信任 开发者的证书
iOS企业开发者账号实现内部分发的更多相关文章
- ios标准开发者账号 ios企业开发者账号的区别总结
ios标准开发者账号 ios企业开发者账号的区别总结 ios标准开发者项目 1.ios标准开发者项目账号可以发布到app store 2.ios标准开发者项目分为两种:①个人开发者②公司/机构开发 ...
- ios]企业开发者账号申请
1. 先打电话到“华夏邓白氏公司”(上海:400-820-3536 北京:400-810-3531 广州:800-830-9032),我打的是北京分部的电话,就说自己因为申请apple开发者账号,需要 ...
- 李洪强iOS开发之苹果企业开发者账号申请流程
李洪强iOS开发之苹果企业开发者账号申请流程 一. 开发者账号类型选择 邓白氏码 DUNS number,是Data Universal Numbering System的缩写,是一个独一无二的9位数 ...
- ios开发--苹果企业开发者账号
苹果企业开发者账号添加多个开发成(组)员的方法 如果你们公司有一个帐号,你是管理员,加入组员的办法如下: 第一步:进入Member Center页 第二步:点击people,会见到 第三步:点击Inv ...
- iOS 公司开发者账号申请
苹果开发者账号分三种. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. 公司账号:以公司的名义申请的开发者账号,用于公司内部的开发者共用,$99. 企业账号: ...
- IOS公司开发者账号申请详细教程
谈到苹果开发者账号,我们需要区分一下个人账号.公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. ...
- IOS公司开发者账号申请详细教程--1 备用
谈到苹果开发者账号,我们需要区分一下个人账号.公司账号和企业账号这三种,还有一种是教育账号,这个就不多说了. 个人账号:个人申请用于开发苹果app所使用的账号,仅限于个人使用,申请比较容易,$99. ...
- Apple 企业开发者账号申请记录
1.账号分类 Apple开发者账号分三种,个人,公司,还有企业.个人和公司都称为标准账号. 还有一种是教育机构的账号. 记录:申请日期2013年4月26,看申请周期多长. 个人和公司的就不说了,现在只 ...
- Apple 企业开发者账号&邓白氏码申请记录 ----转
1.账号分类 Apple开发者账号分三种,个人,公司,还有企业.个人和公司都称为标准账号. 还有一种是教育机构的账号. 现在记录先: 申请日期2013年4月26 看申请周期有多长. 账号介绍 个人和公 ...
随机推荐
- Asp.Net Core 轻松学-HttpClient的演进和避坑
前言 在 Asp.Net Core 1.0 时代,由于设计上的问题, HttpClient 给开发者带来了无尽的困扰,用 Asp.Net Core 开发团队的话来说就是:我们注意到,HttpC ...
- 原子操作&普通锁&读写锁
一:原子操作CAS(compare-and-swap) 原子操作分三步:读取addr的值,和old进行比较,如果相等,则将new赋值给*addr,他能保证这三步一起执行完成,叫原子操作也就是说它不能再 ...
- Redis Cluster搭建高可用Redis服务器集群
一.Redis Cluster集群简介 Redis Cluster是Redis官方提供的分布式解决方案,在3.0版本后推出的,有效地解决了Redis分布式的需求,当一个节点挂了可以快速的切换到另一个节 ...
- Nginx实现负载均衡功能
一.什么是Nginx? Nginx是一款轻量级的Web 服务器.反向代理服务器.电子邮件(IMAP/POP3)代理服务器. 二.Nginx的优点: 高并发连接:官方测试Nginx能够支撑5万并发连接, ...
- C# E店宝格格家接口对接
一.实现图片 二.实现通用方法 /// <summary> /// 调用通用方法 /// </summary> /// <param name="strURL& ...
- WEB前端学习资源清单
常用学习资源 JS参考与基础学习系列 [MDN]JS标准参考 es6教程 JS标准参考教程 编程类中文书籍索引 深入理解JS系列 前端开发仓库 <JavaScript 闯关记> JavaS ...
- android 记一次解决键盘遮挡问题
文章链接:https://mp.weixin.qq.com/s/1gkMtLu0BTXOUOj6isDjUw 日常android开发过程中,会遇到编辑框输入内容弹出软键盘,往往会出现键盘遮挡内容,或者 ...
- 【English】六、am,is,are 分别用在什么地方
is:第三人称单数am:第一人称单数are:第二人称单数,第一.二.三人称的复数 用于第一人称, I am ......(我是.......)用于第三人称, He is ......(他是...... ...
- 前端 聊聊Ajax
转载:关于Ajax的全面总结.
- 一篇文章了解Github和Git教程-AndroidStudio上传Github教程
前言 为了方便保存自己的代码,下班后可以回家继续进行,自己的码农工作,介绍一下Github. 什么是Github呢? 作为一个编程人员,我觉得得了解一下Github吧! 当然,如果你放弃了码农或者技术 ...