一.问题描述

开发完ios版本的app。需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装。用户安装过程简单描述如下:

首先通过手机浏览器safari或者扫描二维码获取到下载.plist的地址。然后浏览器会自动跳转到这个地址,下载、读取.plist。(用户跳转的地址是.plist的下载地址。)这个过程,显然使用http协议来下载.plist文件。最后,iphone通过读取.plist文件中配置的.ipa下载地址,来安装.ipa文件,来完成ios版本的app。

举例,网站首页中,下载.plist的代码:

<ahref="itms-services://?action=download-manifest&url=http://www.ekwing.com/ekwing.plist"class="mobile-ios"></a>

但是,苹果从ios7.1开始,用户安装app,需要使用https协议,来下载plist文件。也就说,在安装app的第一步,下载.plist文件,需要使用https协议。https协议如下:

这里不详细描述https协议。HTTPS的信任继承基于预先安装在浏览器中的证书颁发机构(如VeriSign、Microsoft等)(意即“我信任证书颁发机构告诉我应该信任的”)。因此,一个到某网站的HTTPS连接可被信任,当且仅当:

1.     用户相信他们的浏览器正确实现了HTTPS且安装了正确的证书颁发机构;

2.     用户相信证书颁发机构仅信任合法的网站;

3.     被访问的网站提供了一个有效的证书,意即,它是由一个被信任的证书颁发机构签发的(大部分浏览器会对无效的证书发出警告);

4.     该证书正确地验证了被访问的网站(如,访问https://example时收到了给“Example Inc.”而不是其它组织的证书);

5.     或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(TLS或SSL)不能被窃听者破坏。

简单描述,用户使用https来下载.plist文件。则需要网站支持https协议。支持https协议,除了服务端做一些配置外,还需要申请一个数据签名证书。这个签名证书是由签发机构签发的。不能自己配置生成。而申请签名证书需要一段时间。而我们的目的只是希望能够让我们的app被用户正常下载安装即可。

二.问题分析

解决该问题,就2个方法:

1.自己网站服务上配置https服务,并购买数字签名证书以保证每种类型及其不同版本的浏览器能够安装了证书颁发机构颁发的,我们购买的数据签名证书。时间开销7天左右。

2.将app文件托管到支持https协议的第三方服务器上。

三.解决问题

使用七牛云存储,可以快速,免费解决这个问题。只需要到http://www.qiniu.com/注册一个账号。然后,开通https协议的域名即可。最后将.plist和.ipa文件上传到七牛云存储上即可。操作过程,非常简单。只要注意几点:

1.      开通一个http协议的域名,和一个https协议的域名。

如上图。后缀名是.qiniudn.com的是支持http协议的域名。后缀名是.qbox.me的是支持https协议的域名。上传.plist、.ipa到七牛云存储。

2.      修改下载.plist文件的地址,修改.plist文件内容。

网站首页,下载.plist地址改成上传到七牛云存储上的支持https协议(域名后缀名是.qbox.me)的下载链接地址。

<ahref="itms-services://?action=download-manifest&url=https://dn-ekwing.qbox.me/ekwing.plist"class="mobile-ios"></a>

3.      将.plist文件内容中,.ipa的下载地址,改成七牛云存储上的支持http协议(后缀名是.qiniudn.com)

<string>http://ekwing.qiniudn.com/ekwing.ipa</string>

4.      总结,.plist的下载用https协议,而.ipa的下载用http协议即可。修改完后,就可应用ios6、ios7、ios7.1进行测试了。

四.   感谢七牛云存储

感谢七牛运存储提供免费服务。不过,目前防盗链还不能用。希望能够加上防盗链功能。

 

五.  部署iis的web.config

<?xml version="1.0" encoding="UTF-8"?>
<configuration><system.webServer><staticContent><mimeMap fileExtension=".plist" mimeType="text/xml" /><mimeMap fileExtension=".ipa" mimeType="application/octet-stream" /><mimeMap fileExtension=".apk" mimeType="application/vnd.android.package-archive" /></staticContent></system.webServer>
</configuration>

使用七牛云存储解决app部署问题,免申请https认证相关推荐

  1. 使用七牛云存储解决ios7.1的app部署问题 https

    2019独角兽企业重金招聘Python工程师标准>>> 使用七牛云存储解决ios7.1的app部署问题 一.问题描述 开发完iOS版本的app.需要将.ipa文件和.plist文件打 ...

  2. 使用七牛云存储解决ios7.1的app部署问题

    使用七牛云存储解决ios7.1的app部署问题 一.问题描述 开发完ios版本的app.需要将.ipa文件和.plist文件打包上传,供用户下载,在线安装.用户安装过程简单描述如下: 首先通过手机浏览 ...

  3. vue+php使用七牛云存储解决富文本图片冗余问题

    解决服务器中图片冗余的方法很多,本篇介绍利用七牛云自带的api解决图片冗余问题 问题: 在前端编辑富文本上传图片时,一般有两种方式,一种是将图片在本地预览,文件则在本地缓存,一种是直接上传服务器,然后 ...

  4. OSS对象存储——七牛云存储

    七牛云存储 需求: 项目中用户头像.文章图片等数据需要使用文件存储系统来保存. 方案: 自己搭建文件系统服务 选用第三方对象存储服务 七牛云 http://www.qiniu.com 使用 CDN 使 ...

  5. JavaWeb结合七牛云存储搭建个人相册服务

    JavaWeb结合七牛云存储搭建个人相册服务 一.引言 1. 课程概述 相信很多人都知道网站一般会有很多图片,对于小型网站来说,图片放在网站服务器上不算什么,但当图片数量很大时,会造成服务器很臃肿,相 ...

  6. 七牛云存储Python SDK使用教程 - 上传策略详解

    本教程旨在介绍如何使用七牛的Python SDK来快速地进行文件上传,下载,处理,管理等工作. 前言 我们在上面的两节中了解到,客户端上传文件时,需要从业务服务器申请一个上传凭证(Upload Tok ...

  7. linux 自动保存网页,Linux 定时备份网站数据至七牛云存储

    网站数据是站长的命根子,所以每日备份就很重要.如果你没有FTP空间,可以申请一个七牛云存储,免费10G空间备份一般的小站足够了.这里介绍一个备份网站文件和数据库到七牛的脚本,实测效果还不错,Linux ...

  8. Node开发文件上传系统及向七牛云存储和亚马逊AWS S3的文件上传

    背景起,有奏乐: 有伟人曰:学习技能的最好途径莫过于理论与实践相结合. 初学Node这货时,每每读教程必会Fall asleep. 当真要开发系统时,顿觉精神百倍,即便踩坑无数也不失斗志. 因为同团队 ...

  9. 在 Laravel 5 中集成七牛云存储实现云存储功能

    本扩展包基于https://github.com/qiniu/php-sdk开发,是七牛云储存 Laravel 5 Storage版,通过本扩展包可以在Laravel 5中集成七牛云存储功能. 1.安 ...

最新文章

  1. 094、Swarm 中最重要的概念(Swarm01)
  2. ElasticSearch 2 (21) - 语言处理系列之单词识别
  3. MIDlet 移动开发
  4. Arduino常用函数总结
  5. O(N) 求 1~N 逆元 模板及证明
  6. moia调度mysql到hive_创立打车软件Moia后,“不安分”的大众又收购一家移动支付公司PayByPhone...
  7. 删除副本列表中的消失项目符号
  8. linux 函数 增加用户,linux常用c函数用户组有哪些?
  9. java for android的书_JavaForAndroid07
  10. 消防给水及消火栓系统技术规范_对于高位消防水箱《消防给水及消火栓系统技术规范》是如何规定...
  11. 在哪里学python-在合肥哪里可以学Python
  12. java打开android_解决android studio 打开java文件 内容全变了的问题
  13. C# 使用X509Certificate2获取数字证书信息对接联通沃支付
  14. 3GPP 5G 常用协议规范下载整理
  15. 身份证号码正则表达式及校验方法
  16. ios开发工程师常见面试题汇总
  17. # 开发 VR 多人游戏的技术挑战
  18. docker-redis
  19. width mismatch when connecting input pin '/processing system 7_0/irq_f2p'(2) to net 'xlconcat_0_dout
  20. 常见的二范数是什么意思?有什么用?

热门文章

  1. Linux 切换JAVA 版本
  2. 如何从官网下载JDK安装包?
  3. 对java栈的初步认识
  4. rstudio线性回归_R语言线性回归
  5. 微信提取公积金要先查征信?
  6. lilypond 符号_LilyPond演奏优美的音乐
  7. 学以致用——Java源码——使用Graphics2D类draw方法绘制立方体(Drawing Cubes)
  8. android pad课件制作软件,平板电脑可以做ppt吗
  9. 罗敏:趣店不存在违规催收,最多打电话提醒还款
  10. 为fetch添加拦截器功能