解决企业In-House安装APP需HTTPS支持的问题(转载)
2015-06-04 18:46
525 查看
同事写的一篇文章,感觉不错,转过来。
能否通过应用服务器发布企业应用;
解决iOS7.1后,发布地址必须为HTTPS服务器。
写作目的:
在SAE(Sina App Engine)作为第三方服务器,实现APP的发布。
适合阅读对象:
想通过不自己搭建HTTPS服务器(对于个人开发者来说,略显昂贵的费用),实现应用的下载和安装。
不涉及内容:
企业应用的打包问题。关于企业打包,请参照iOS APP企业打包流程。
SAE地址:
SAE
正文:
首先介绍下苹果开发的三种计划,分为个人,企业和大学计划。如图所示:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/ios_program.png)
主要区别就是:
企业开发者不能通过App Store途径发APP,但是可以直接无上限的分发APP(In-House发布);
个人开发者可以通过App Store发布。
这里,我们主要来介绍企业的In-House发布。用户安装企业应用的过程如下:
通过手机浏览器或二维码扫描获取到plist的地址;
用户下载并读取plist文件;
用户设备(iphone)读取plist中的ipa地址;
下载ipa文件,完成APP的安装。
其中,访问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应用(本文不涉及申请新浪开发者账号);
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae.png)
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step2.png)
这里我们选择“空应用”,
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step3.png)
管理应用;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step4.png)
选择“代码管理”:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step5.png)
点击“编辑代码”:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step6.png)
上传plist文件;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step7.png)
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step8.png)
访问“https://wpl9.sinaapp.com/epeiwang.plist”测试下;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step9.png)
修改访问plist的地址;
完成。
解决企业In-House安装APP需HTTPS支持的问题
问题背景:能否通过应用服务器发布企业应用;
解决iOS7.1后,发布地址必须为HTTPS服务器。
写作目的:
在SAE(Sina App Engine)作为第三方服务器,实现APP的发布。
适合阅读对象:
想通过不自己搭建HTTPS服务器(对于个人开发者来说,略显昂贵的费用),实现应用的下载和安装。
不涉及内容:
企业应用的打包问题。关于企业打包,请参照iOS APP企业打包流程。
SAE地址:
SAE
正文:
首先介绍下苹果开发的三种计划,分为个人,企业和大学计划。如图所示:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/ios_program.png)
主要区别就是:
企业开发者不能通过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应用(本文不涉及申请新浪开发者账号);
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae.png)
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step2.png)
这里我们选择“空应用”,
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step3.png)
管理应用;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step4.png)
选择“代码管理”:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step5.png)
点击“编辑代码”:
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step6.png)
上传plist文件;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step7.png)
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step8.png)
访问“https://wpl9.sinaapp.com/epeiwang.plist”测试下;
![](http://www.epeiwang.com/blog/wp-content/uploads/2015/06/sae_step9.png)
修改访问plist的地址;
itms-services://?action=download-manifest&url=http://www.epeiwang.com/epeiwang/download/epeiwang.plist
完成。
![](http://images2015.cnblogs.com/blog/37473/201603/37473-20160314151743209-791044003.jpg)
相关文章推荐
- 用GCD的方式,加载网络图片(主线程加载图片+类扩展方式)
- GCD网络多线程---同步执行,异步执行,串行队列,并行队列
- 【计算机网络】读书笔记之《wireshark数据包分析实战》
- Android中的volley_7_网络调度线程NetworkDispatcher
- HTTP2 概述
- Linux网络综合命令——IP
- iOS音频的后台播放总结(后台网络请求歌曲,Remote控制,锁屏封面,各种打断)
- webim使用http长轮询如何保证消息的绝对实时性
- 一张图让你了解足球赛和网络安全的关系!
- ACE学习笔记一(基本的TCP/IP Socket用法)
- 腾迅股票数据接口 http/javascript
- IHttpHandler和IHttpHandlerFactory应用实例
- SpringMVC 学习笔记(七) JSON返回:HttpMessageConverter作用
- QQ开放平台地址 http://open.qq.com/
- Spring HTTP Invoker
- 访问HTTPS时SSL/TLS证书拒绝问题 : unable to find valid certification path to requested target
- 如何设置虚拟机网络
- 新浪微博开发平台地址 http://open.weibo.com/
- Java正则表达式(转载http://www.java3z.com/cwbwebhome/article/article8/Regex/Java.Regex.Tutorial.html#reg6)
- TCP/IP-------MTU、MSS、分片