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

解决企业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. mybatis学习之路

    MyBatis 是支持普通SQL查询.存储过程和高级映射的优秀持久层框架. MyBatis消除了几乎所有的JDBC代码和参数的手工设置以及对结果集的检索封装. MyBatis可以使用简单的XML或注解 ...

  2. 用c#开发微信 (7) 微渠道 - 推广渠道管理系统 2 业务逻辑实现

    我们可以使用微信的“生成带参数二维码接口”和 “用户管理接口”,来实现生成能标识不同推广渠道的二维码,记录分配给不同推广渠道二维码被扫描的信息.这样就可以统计和分析不同推广渠道的推广效果. 上次介绍了 ...

  3. 消灭ASP.NET CachedPathData.ValidatePath引起的HttpException异常

    在博客程序的日志中经常会出现这样的错误日志: Url: http://www.cnblogs.com/cmt/p/sokcet_memory_leak.html (这个URL仅是示例)UserAgen ...

  4. C++ Primer学习笔记二

    vector<int> a(10,0); for(vector<int>::iterator itor=a.begin();itor!=a.end();itor++) *ito ...

  5. Hive性能优化

    1.概述 继续<那些年使用Hive踩过的坑>一文中的剩余部分,本篇博客赘述了在工作中总结Hive的常用优化手段和在工作中使用Hive出现的问题.下面开始本篇文章的优化介绍. 2.介绍 首先 ...

  6. Xperf Basics: Recording a Trace(转)

    http://randomascii.wordpress.com/2011/08/18/xperf-basics-recording-a-trace/   This post is obsolete ...

  7. 解读SQL Server 2014可更新列存储索引——存储机制

    概述 SQL Server 2014被号称是微软数据库的一个革命性版本,其性能的提升的幅度是有史以来之最. 可更新的列存储索引作为SQL Server 2014的一个关键功能之一,在提升数据库的查询性 ...

  8. Openstack Murano(kilo)二次开发之添加Volume

    Openstack Murano(kilo)二次开发之添加Volume 欢迎转载,转载请注明出处:http://www.cnblogs.com/fmnisme/p/openstack_murano_a ...

  9. CheckStyle, 强制你遵循编码规范

    如今代码静态检查越来越重要,已经成为构建高质量软件的不可或缺的一个验证步骤.如果你使用的是java语言,那么CheckStyle则是一个利器. CheckStyle能够帮助程序员检查代码是否符合制定的 ...

  10. Git常用操作命令与图解

    Git 是一个很强大的分布式版本控制系统.它不但适用于管理大型开源软件的源代码,管理私人的文档和源代码也有很多优势. Git常用操作命令: 1) 远程仓库相关命令 检出仓库:$ git clone g ...