使用八种牛云存储解决方案ios7.1的app部署问题
使用八种牛云存储解决方案ios7.1的app部署问题
一个.问题叙述性说明
开发完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协议的第三方server上。
三.解决这个问题
使用七牛云存储,能够高速,免费解决问题。仅仅须要到http://www.qiniu.com/注冊一个账号。
然后。开通https协议的域名就可以。最后将.plist和.ipa文件上传到七牛云存储上就可以。操作过程。很easy。
仅仅要注意几点:
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进行測试了。
四. 感谢七牛云存储
感谢七牛运存储提供免费服务。
只是。眼下防盗链还不能用。
希望可以加上防盗链功能。
五. 因ios7.1安装app。须要用https协议而提示的错误
<Warning>:[ERROR]: Cannot load non-https manifest URL:http://192.168.1.22/ekwing.plist
<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=您仍要连接此server吗?,NSLocalizedFailureReason=无法建立安全连接。请检查“日期与时间”设置。,NSErrorFailingURLStringKey=https://192.168.1.22/ekwing.plist,NSUnderlyingError=0x165b37e0
"此server的证书无效。
您可能正在连接到一个伪装成“192.168.1.22”的server,这会威胁到您的机密信息的安全。
",NSURLErrorFailingURLPeerTrustErrorKey=<SecTrustRef:0x166b83e0>,NSErrorFailingURLKey=https://192.168.1.22/ekwing.plist}
转载。请注明原地址 http://blog.csdn.net/longxibendi/article/details/37601747
版权声明:本文博客原创文章,博客,未经同意,不得转载。
使用八种牛云存储解决方案ios7.1的app部署问题的更多相关文章
- RAID 5 是一种存储性能、数据安全和存储成本兼顾的存储解决方案
可用容量:(n-1)/n的总磁盘容量(n为磁盘数) 原因:RAID5把数据和相对应的奇偶校验信息存储到组成RAID5的各个磁盘上,并且奇偶校验信息和相对应的数据分别存储于不同的磁盘上,其中任意N-1块 ...
- Go语言实战 - 网站性能优化第一弹“七牛云存储”
由于用户纷纷反应山坡网的打开速度比较慢,所以两天前我们决定把服务器从linode迁移到阿里云. 整个迁移过程非常平滑,基本上一个小时就完成了.而且阿里云的配套设施提供的也很不错,运行状态监控什么的都有 ...
- Web开发必知的八种隔离级别
ACID性质是数据库理论中的奠基石,它定义了一个理论上可靠数据库所必须具备的四个性质:原子性,一致性,隔离性和持久性.虽然这四个性质都很重要,但是隔离性最为灵活.大部分数据库都提供了一些可供选择的隔离 ...
- ueditor上传图片到七牛云存储(form api,java)
转:http://my.oschina.net/duoduo3369/blog/174655 ueditor上传图片到七牛云存储 ueditor结合七牛传图片 七牛的试炼 开发前的准备与注意事项说明 ...
- 七牛云存储Python SDK使用教程 - 上传策略详解
文 七牛云存储Python SDK使用教程 - 上传策略详解 七牛云存储 python-sdk 七牛云存储教程 jemygraw 2015年01月04日发布 推荐 1 推荐 收藏 2 收藏,2.7k ...
- 关于七牛云存储,HTTPS资源上传不成功问题
关于七牛云存储,HTTPS资源上传不成功问题 官方给出了一个解决方案,亲测可用.特此记录一下. 找到QNConfiguration.m文件.然后重写两个方法,直接上代码. + (instancetyp ...
- 用ueditor上传图片、文件等到七牛云存储
ueditor上传文件,是用数据流的形式上传的. 而七牛云存储官方文档中,只提供了文件路径上传的方式. 但是,仅仅是在官方文档中写了这一种方式. 事实上,利用VS的对象管理器,打开Qiniu的dll, ...
- JVM常量池和八种基本数据及字符串
迄今为止看到的对常量池和字符串最为透彻的解释,赞一个! 常量池(constant_pool)指的是在编译期被确定,并被保存在已编译的.class文件中的一些数据.它包括了关于类.方法.接口等中的常量, ...
- JAVA四类八种基本数据类型
boolean类型 Boolean在内存中占用一个字节. 当java编译器把java源代码编译为字节码时,会用int或byte来表示boolean.在java虚拟机中,用整数零来表示false,用任意 ...
随机推荐
- AM335x(TQ335x)学习笔记——u-boot-2014.10移植
根据最近移植u-boot-2014.10至TQ335x,基于这样的假设am335x evm移植.不是很多地方需要改变. 因为TI的am335x evm开发了使用eeprom船上保存配置信息.它使用不同 ...
- nodejs的安装和使用
一 下载 下载地址: https://nodejs.org/download/ 二 安装 1 win7系统直接双击,就能够执行了: 2 win8须要使用管理员权限执行,否则会报错Error 2502, ...
- AE 先进的视频画面 快速释放 慢动作
视频画面细腻,或快速释放.慢速播放视频.其实很easy.在使用图层time中间Enable Time remapping能够.快捷键ctrl+alt+T债券,我无法使用,我没有深究. 在这一点上,在视 ...
- Model绑定
Model绑定 在前面的几篇文章中我们都是采用在URI中元数据类型进行传参,实际上ASP.NET Web API也提供了对URI进行复杂参数的绑定方式--Model绑定.这里的Model可以简单的理解 ...
- NSIS:判断程序是否运行并进行卸载
原文NSIS:判断程序是否运行并进行卸载 今天在评论里看到网友说要一个这样的功能,就简单写了一个,本来想做360杀手来着,但遗憾的是我从来不用360的东西,所在电脑上也没有360相关的软件进行测试,所 ...
- RMQ(模板 ST 区间最值,频繁的间隔时间)
PS: 介绍:http://blog.csdn.net/liang5630/article/details/7917702 RMQ算法.是一个高速求区间最值的离线算法,预处理时间复杂度O(n*log( ...
- python派QQ邮件
#encoding=utf-8 __author__ = 'ds' #文件名冲突 from email.mime.text import MIMEText import smtplib if __na ...
- iOS开发必看的博客汇总
OneV's Den http://onevcat.com/ 沉船家园 http://beyondvincent.com/ NSHipster http://nshipster.cn/ Limboy ...
- MSMQ-发送消息到远程专用队列 实例
目录 一:MSMQ的一些理论上的知识 二:队列类型(Queue Type) 三:安装消息队列 四:在C#中Messagequeue class 五:MSMQ-发送消息到远程专用队列 六:例子 一. ...
- ASP.NET MVC+EF框架+EasyUI实现权限管理系列(3)-面向接口的编程
原文:ASP.NET MVC+EF框架+EasyUI实现权限管理系列(3)-面向接口的编程 ASP.NET MVC+EF框架+EasyUI实现权限管系列 (开篇) (1)框架搭建 (2):数据 ...