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

解决企业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. UITableView动态存放、重用机制

    一.UITableView动态存放 #import "ViewController.h"@interface ViewController ()<UITableViewDel ...

  2. Eclipse程序员要掌握的常用快捷键

    Ctrl+K 光标放在一个变量上(注意,是变量,如果你的光标放在了字符串上,如http://keleyi.com则没有任何作用的),按下Ctrl+K光标会定位到下一个相同的变量 Shift+Ctrl+ ...

  3. httpd 虚拟主机建立之访问机制及其日志定义

    注:关闭防火墙,selinux VirtualHost定义: 基于IP地址VirtualHost: 编辑httpd.conf文件: #DocumentRoot "/web/html" ...

  4. 记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?)

    记一次数据库调优过程(IIS发过来SQLSERVER 的FETCH API_CURSOR语句是神马?) 前几天帮客户优化一个数据库,那个数据库的大小是6G 这麽小的数据库按道理不会有太大的性能问题的, ...

  5. 腾讯DBA官方博客开通了,欢迎交流

    腾讯DBA官方博客开通了,欢迎交流哈..麻烦给放到首页一下     http://tencentdba.com   腾讯互娱游戏DBA团队一直致力于为游戏提供稳定.高效的DB运营服务,这是我们团队的使 ...

  6. 敏捷开发 与 Scrum

    敏捷开发以用户的需求进化为核心,采用迭代.循序渐进的方法进行软件开发.在敏捷开发中,软件项目在构建初期被切分成多个子项目,各个子项目的成果都经过测试,具备可视.可集成和可运行使用的特征.换言之,就是把 ...

  7. 我没发现Mvc里的 web.config 有什么用。

    实验过程 由于 Mvc2+ 引入 Area ,导致文件夹结构发生变化. Mvc下的 web.config 所在的位置是: ~/Areas/MySystem/Views/Web.config 对应的请求 ...

  8. 使用tornado和angularjs搭建网站

    从这篇博文开始,将讲述建立一个站点的全过程.一方面自己从未做过这类事情,算是对自己的一个挑战,另一方面也给想要学这个的同胞留点参考,特别是*需要课程设计作业和毕业设计的同志们*. 首先介绍一下网站功能 ...

  9. 02-Vue入门之数据绑定

    2.1. 什么是双向绑定? Vue框架很核心的功能就是双向的数据绑定. 双向是指:HTML标签数据 绑定到 Vue对象,另外反方向数据也是绑定的.通俗点说就是,Vue对象的改变会直接影响到HTML的标 ...

  10. [ACM_模拟] POJ 1094 Sorting It All Out (拓扑排序+Floyd算法 判断关系是否矛盾或统一)

    Description An ascending sorted sequence of distinct values is one in which some form of a less-than ...