解决企业In-House安装APP需HTTPS支持的问题(转载)
同事写的一篇文章,感觉不错,转过来。
解决企业In-House安装APP需HTTPS支持的问题
问题背景:
- 能否通过应用服务器发布企业应用;
- 解决iOS7.1后,发布地址必须为HTTPS服务器。
写作目的:
在SAE(Sina App Engine)作为第三方服务器,实现APP的发布。
适合阅读对象:
想通过不自己搭建HTTPS服务器(对于个人开发者来说,略显昂贵的费用),实现应用的下载和安装。
不涉及内容:
企业应用的打包问题。关于企业打包,请参照iOS APP企业打包流程。
SAE地址:
正文:
首先介绍下苹果开发的三种计划,分为个人,企业和大学计划。如图所示:

主要区别就是:
- 企业开发者不能通过App Store途径发APP,但是可以直接无上限的分发APP(In-House发布);
- 个人开发者可以通过App Store发布。
这里,我们主要来介绍企业的In-House发布。用户安装企业应用的过程如下:
- 通过手机浏览器或二维码扫描获取到plist的地址;
- 用户下载并读取plist文件;
- 用户设备(iphone)读取plist中的ipa地址;
- 下载ipa文件,完成APP的安装。
其中,访问plist的链接,必须是以下格式:
itms-services://?action=download-manifest&url=http://www.epeiwang.com/epeiwang/download/epeiwang.plist
在iOS7.1之前,在上述『步骤2』时,只需一台http服务器即可,但在iOS7.1之后,存放plist文件的服务器必须支持HTTPS。
所以,要解决该问题有两种方法。
方法一:自己搭建一台支持https的服务器;
方法二:寻找第三方支持https的服务器,即云平台。
方法比较:
- 第一种方法一劳永逸,但是签名的周期比较长,而且对于个人开发者来说,年费也稍显昂贵;
- 第二种方法,虽然免费,但必定伴随着不稳定的隐患。
这里我将介绍第二种方法,并以SAE平台为例,实现企业应用的发布。
- 准备好plist文件。Plist内容如下:
<?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>
< !– ipa 文件地址 –>
< string>http://www.epeiwang.com/epeiwang/download/epeiwang.ipa</string>
< /dict>
< dict>
< key>kind</key>
< string>full-size-image</string>
< key>needs-shine</key>
< true/>
< key>url</key>
< !– ipa 安装时的图标 –>
< string>http://www.epeiwang.com/epeiwang/static/theme/images/app_icon_120.png</string>
< /dict>
< dict>
< key>kind</key>
< string>display-image</string>
< key>needs-shine</key>
< true/>
< key>url</key>
< !– ipa 安装时的图标 –>
< string>http://www.epeiwang.com/epeiwang/static/theme/images/app_icon_120.png</string>
< /dict>
< /array>
< key>metadata</key>
< dict>
< !– ipa 文件的描述 –>
< key>bundle-identifier</key>
< string>com.epw.epw</string>
< key>bundle-version</key>
< string>1.0.0</string>
< key>kind</key>
< string>software</string>
< key>title</key>
< string>益培网</string>
< /dict>
< /dict>
< /array>
< /dict>
< /plist>
- 在SAE中创建PHP应用(本文不涉及申请新浪开发者账号);


这里我们选择“空应用”,

- 管理应用;

选择“代码管理”:

点击“编辑代码”:

- 上传plist文件;


- 访问“https://wpl9.sinaapp.com/epeiwang.plist”测试下;

- 修改访问plist的地址;
itms-services://?action=download-manifest&url=http://www.epeiwang.com/epeiwang/download/epeiwang.plist
- 完成。

解决企业In-House安装APP需HTTPS支持的问题(转载)的更多相关文章
- iOS开发之企业发布无线安装APP
前提是注册成为企业开发者(¥299),申请到证书并安装到本地,可以正常使用Xcode在IOS移动设备上进行Debug. 首先build看是否报错.如无错 执行下一: 执行Product—Archive ...
- iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路
1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约.至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(A ...
- anyproxy学习1-windows平台安装和抓手机app上https请求
前言 做接口测试肯定离不开抓包,目前比较流行的抓包工具是fiddler和charles,相信并不陌生.这里介绍一个阿里公司研发的一个抓包神器,只需打开web页面,就能抓到手机app上的http和htt ...
- 苹果App部署HTTPS进行在线下载安装
苹果App的ipa下载需要有几个前提,可参考:Android和IOS的本地App如何安装(apk&ipa) 本文主要介绍如何部署https提供ipa的下载,步骤如下: 1. 搭建一个HTTPS ...
- windows 7安装Fiddler抓HTTPS请求的解决办法
一.下载安装Fiddler,网上随意一搜就可找到安装软件 二.打开已经安装的fiddler,本人的安装目录:D:\AutoTest\fiddle\Fiddler2 三.打开的页面如图: 三.点击too ...
- iOS:苹果企业证书通过网页分发安装app
本文转载至 http://blog.sina.com.cn/s/blog_6afb7d800101fa16.html 苹果的企业级证书发布的应用,是不用设备授权即可直接安装,并且不限设备上限.为了方便 ...
- 检验appium环境是否正常:使用appium自动给手机安装app(注意:如果已存在该app,再执行会将原来的卸载再重装,需谨慎)
(注意:如果已存在该app,再执行会将原来的卸载再重装.泪的教训,我的微信被卸载重装了o(╥﹏╥)o,自动安装app这个步骤需谨慎操作) hi,前面几篇已经讲了appium环境的搭建.设备的连接, 那 ...
- 使用Charles抓取APP之HTTPS请求
Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(https://www.charlesproxy.com/)下载软件 ...
- 点击页面判断是否安装app并打开,否则跳转app store的方法
常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码.但往往我们都是直接给推广图片加了一个下载链接(App Store中的).所以咱们来模拟一下用 ...
随机推荐
- OpenGL(四)——有用的函数
概述 1. reshape 定义窗口和图像的映射关系,使在不以纵横比4:3调整窗口大小时,图像不会失真 函数 1. ReShape 如果变更后的窗体的横纵比大于4/3,需要以高为基数,宽为高*4/3, ...
- C++ 添加库
三步走:(第三步总忘) 1.项目属性页的C/C++->常规->附加包含目录指向 2.链接器(Linker)->常规(general)->附加库目录指向 3.链接器->输入 ...
- JSON.parse解析单引号名值对报错
今天整理代码的时候发现JSON.pare解析时会报了一个错误,而且很难找原因,调试了几分钟没有成功,猜测可能是单双引号引起的错误.修改了单双引号后程序正常运行了,现在记录下这个bug. 关于JSON. ...
- 虚拟机Ubuntu14/15启用root用户登录
1. 为root用户设置密码 sudo passwd root 需要先输入一次当前用户的登陆密码,然后输入两次root用户的密码(自己设置). 2. 切换至root用户 sudo -s 3. 编辑登陆 ...
- SQL Server 事务语法
事务全部是关于原子性的.原子性的概念是指可以把一些事情当做一个单元来看待.从数据库的角度看,它是指应全部执行或全部都不执行的一条或多条语句的最小组合. 为了理解事务的概念,需要能够定义非常明确的边界. ...
- Linux中强制结束一个进程的终极方法
在 Linux Ubuntu 服务器上用 dnx 基于 Kestrel 成功运行一个 ASP.NET 5 站点后,怎么也无无法退出. 运行的命令如下: /data/git/dnx/artifacts/ ...
- Ubuntu命令--CURL用法
curl命令是个功能强大的网络工具,支持通过http.ftp等方式下载文件.上传文件.还可以用来抓取网页.网络监控等方面的开发,解决开发过程中遇到的问题. 常用参数curl命令参数很多,这里只列出我曾 ...
- atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质
atitit.编程语言 程序语言 的 工具性 和 材料性 双重性 and 语言无关性 本质 #---语言的 工具和材料双重性 有的人说语言是个工具,有的人说语言是个材料..实际上语言同时属于两个属性. ...
- Javascript函数的简单学习
第九课函数的定义与调用1:函数的定义 语法格式 function 函数名(数据类型 参数1){//function是定义函数的关键字 方法体;//statements,用于实 ...
- 学习IT资源分享,欢迎各位知道的学习IT资源前来分享
1:排序不是按照名次,随机排序 慕课学习网https://www.imooc.com/ 腾讯课堂 https://ke.qq.com/ 柠檬学院 http://bjlemon.edusoho.cn/ ...