博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
使用七牛云存储解决ios7.1的app部署问题 https
阅读量:6888 次
发布时间:2019-06-27

本文共 2726 字,大约阅读时间需要 9 分钟。

hot3.png

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

 一.问题描述

         开发完版本的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.     或者互联网上相关的节点是值得信任的,或者用户相信本协议的加密层(或SSL)不能被窃听者破坏。

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

二.问题分析

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

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

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

三.解决问题

使用七牛云存储,可以快速,免费解决这个问题。只需要到注册一个账号。然后,开通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>>

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

 

四.   感谢七牛云存储

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

 

五.   因ios7.1安装app,需要用https协议而提示的错误

 

<Warning>:[ERROR]: Cannot load non-https manifest URL:

 

<Warning>:Could not load download manifest with underlying error: ErrorDomain=SSErrorDomain Code=128 "无法连接" UserInfo=0x1669d990 {NSLocalizedDescription=无法连接}

 

<Warning>: NSURLConnection/CFURLConnection HTTP loadfailed (kCFStreamErrorDomainSSL, -9813)

<Warning>: Could not load download manifest withunderlying error: Error Domain=NSURLErrorDomain Code=-1202 "无法连接到商店" UserInfo=0x166bc640{NSLocalizedDescription=无法连接到商店,NSLocalizedRecoverySuggestion=您仍要连接此服务器吗?,NSLocalizedFailureReason=无法建立安全连接。请检查“日期与时间”设置。,NSErrorFailingURLStringKey=https://192.168.1.22/ekwing.plist,NSUnderlyingError=0x165b37e0 "此服务器的证书无效。您可能正在连接到一个伪装成“192.168.1.22”的服务器,这会威胁到您的机密信息的安全。",NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef:0x166b83e0>,NSErrorFailingURLKey=https://192.168.1.22/ekwing.plist}

 

转载,请注明原地址 http://blog.csdn.net/longxibendi/article/details/37601747

转载于:https://my.oschina.net/daniels/blog/676737

你可能感兴趣的文章
《玩转3D打印》——1.3节3D打印的优势
查看>>
《FLUENT 14.0超级学习手册》——2.3 FLUENT 14.0的功能模块
查看>>
微软 Windows Phone 有望回归 或于一年后面世
查看>>
《SAS 统计分析与应用从入门到精通(第二版)》一1.2 SAS for Windows的安装和启动...
查看>>
深度学习论文阅读路线图
查看>>
《智能家居产品 从设计到运营》——2.3 智能设备互联的语言:通信协议
查看>>
如何自己注册域名?什么样的域名是好域名?
查看>>
除了 Markdown 编辑器,你还需要会用程序来处理它
查看>>
Linux有问必答:如何在Linux中修改环境变量PATH
查看>>
【ATF】林伟:大数据计算平台的研究与实践
查看>>
STL--双端队列(deque)和链表(list)
查看>>
x264代码剖析(十二):核心算法之帧内预测函数x264_mb_analyse_intra()
查看>>
c++ 命名空间 以及 作用域 函数参数 面向对象实验报告
查看>>
【RAC】在所有节点上滚动安装BUNDLE Patch for Base Bug 9413827补丁包
查看>>
Apache Storm 官方文档 —— Metrics
查看>>
百度地图 demo 在html中显示 在jsp中不显示
查看>>
Mac下安装Caffe
查看>>
RDS-MSSQL问题排查方法
查看>>
实现u-boot对yaffs/yaffs2文件系统下载的支持
查看>>
[算法系列之十三]Rabin-Karp字符串查找算法
查看>>