同事写的一篇文章,感觉不错,转过来。

解决企业In-House安装APP需HTTPS支持的问题

问题背景:

  1. 能否通过应用服务器发布企业应用;
  2. 解决iOS7.1后,发布地址必须为HTTPS服务器。

写作目的:

在SAE(Sina App Engine)作为第三方服务器,实现APP的发布。

适合阅读对象:

想通过不自己搭建HTTPS服务器(对于个人开发者来说,略显昂贵的费用),实现应用的下载和安装。

不涉及内容:

企业应用的打包问题。关于企业打包,请参照iOS APP企业打包流程

SAE地址:

SAE


正文:

首先介绍下苹果开发的三种计划,分为个人,企业和大学计划。如图所示:

主要区别就是:

  • 企业开发者不能通过App Store途径发APP,但是可以直接无上限的分发APP(In-House发布);
  • 个人开发者可以通过App Store发布。

这里,我们主要来介绍企业的In-House发布。用户安装企业应用的过程如下:

  1. 通过手机浏览器或二维码扫描获取到plist的地址;
  2. 用户下载并读取plist文件;
  3. 用户设备(iphone)读取plist中的ipa地址;
  4. 下载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的服务器,即云平台。

方法比较:

  1. 第一种方法一劳永逸,但是签名的周期比较长,而且对于个人开发者来说,年费也稍显昂贵;
  2. 第二种方法,虽然免费,但必定伴随着不稳定的隐患。

这里我将介绍第二种方法,并以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支持的问题(转载)的更多相关文章

  1. iOS开发之企业发布无线安装APP

    前提是注册成为企业开发者(¥299),申请到证书并安装到本地,可以正常使用Xcode在IOS移动设备上进行Debug. 首先build看是否报错.如无错 执行下一: 执行Product—Archive ...

  2. iOS APP下载安装时,如果出现此时无法下载安装APP的字样时,一些解决思路

    1.在iosAPP下载安装时,如果出现此时无法下载安装APP的字样时,可能是苹果系统进行了支持更新,并需要我们确认条约.至于如何判断是否是苹果系统进行了更改,只需要我们进入开发者账号,进入我的账户(A ...

  3. anyproxy学习1-windows平台安装和抓手机app上https请求

    前言 做接口测试肯定离不开抓包,目前比较流行的抓包工具是fiddler和charles,相信并不陌生.这里介绍一个阿里公司研发的一个抓包神器,只需打开web页面,就能抓到手机app上的http和htt ...

  4. 苹果App部署HTTPS进行在线下载安装

    苹果App的ipa下载需要有几个前提,可参考:Android和IOS的本地App如何安装(apk&ipa) 本文主要介绍如何部署https提供ipa的下载,步骤如下: 1. 搭建一个HTTPS ...

  5. windows 7安装Fiddler抓HTTPS请求的解决办法

    一.下载安装Fiddler,网上随意一搜就可找到安装软件 二.打开已经安装的fiddler,本人的安装目录:D:\AutoTest\fiddle\Fiddler2 三.打开的页面如图: 三.点击too ...

  6. iOS:苹果企业证书通过网页分发安装app

    本文转载至 http://blog.sina.com.cn/s/blog_6afb7d800101fa16.html 苹果的企业级证书发布的应用,是不用设备授权即可直接安装,并且不限设备上限.为了方便 ...

  7. 检验appium环境是否正常:使用appium自动给手机安装app(注意:如果已存在该app,再执行会将原来的卸载再重装,需谨慎)

    (注意:如果已存在该app,再执行会将原来的卸载再重装.泪的教训,我的微信被卸载重装了o(╥﹏╥)o,自动安装app这个步骤需谨慎操作) hi,前面几篇已经讲了appium环境的搭建.设备的连接, 那 ...

  8. 使用Charles抓取APP之HTTPS请求

    Charles是一款非常好用的抓包工具,通常使用它来进行APP开发抓包调试,尤其是HTTPS请求. 一.安装Charles 去官网(https://www.charlesproxy.com/)下载软件 ...

  9. 点击页面判断是否安装app并打开,否则跳转app store的方法

    常常有这样的场景,咱们开发出来的APP需要进行推广,比如在页面顶部来一张大Banner图片,亦或一张二维码.但往往我们都是直接给推广图片加了一个下载链接(App Store中的).所以咱们来模拟一下用 ...

随机推荐

  1. iOS ViewController生命周期

    ViewController是view的controller,viewController的职责主要包括管理内部各个view的加载显示与卸载,同时负责与其他ViewController的通信和协调. ...

  2. TSQL的连乘

    某个需求需要对某一列的值做乘法,网上搜了把确实还真没有直接的聚合函数用于将某一列的值乘起来. 找到了替代的算法: http://jerryyang-wxy.blogspot.com/2012/04/t ...

  3. Vertica笔记

    1.Table不做存储,本质是一个视图,真正存储在 Projection 里.可以针对一个Table建多个Projection . 查看表和 Projection 的个数: select anchor ...

  4. kali linux 渗透测试视频教程 第五课 社会工程学工具集

    第五课 社会工程学工具集 文/玄魂 教程地址:http://edu.51cto.com/course/course_id-1887.html   目录 第五课社会工程学工具集 SET SET的社会工程 ...

  5. [chrome插件分享] gitlab-tree 更方便的浏览Gitlab上的代码

    说明 经常玩Github的人肯定都知道大名鼎鼎的octotree吧,这款chrome插件可以说是浏览代码的神器,利用左侧的树形菜单可以很方便的打开目录.浏览文件等,加上Github全站本身使用了pja ...

  6. 设置jenkins代理

    http://stackoverflow.com/documentation/jenkins/919/introduction-to-jenkins Natively, Jenkins runs on ...

  7. 1-MSP430点亮一个灯

    为了写一篇文章做铺垫--提醒着自己,,,,,, 现在看一下程序 还是说一下是怎么关掉的 往WDTCTL寄存器里写入了0x5A00,,为什么要写这个呢! 那么 WDTCTL = 0x005A  + 0x ...

  8. 【Java】Lucene检索引擎详解

    基于Java的全文索引/检索引擎——Lucene Lucene不是一个完整的全文索引应用,而是是一个用Java写的全文索引引擎工具包,它可以方便的嵌入到各种应用中实现针对应用的全文索引/检索功能. L ...

  9. css3动画animation

    动画:animation   animations这物似乎还是只在webkit,moz核心的浏览器上起作用 <!DOCTYPE html><html lang="en&qu ...

  10. css伪元素选择器

    <!DOCTYPE html><html lang="en"><head> <meta charset="UTF-8" ...