使用八种牛云存储解决方案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,用任意 ...
 
随机推荐
- GPU 编程入门到精通(五)之 GPU 程序优化进阶
			
博主因为工作其中的须要,開始学习 GPU 上面的编程,主要涉及到的是基于 GPU 的深度学习方面的知识.鉴于之前没有接触过 GPU 编程.因此在这里特地学习一下 GPU 上面的编程. 有志同道合的小伙 ...
 - 跟Bob大叔观OO原则
			
上篇总结了经典的23种 设计模式,详细的解读后期会陆续的详细揭开.使用设计模式的根本原因就是为了增强代码的复用性和可维护性.而面向对象是实现代码复用的有效途径,所以这里有必要了解一下OO的基本思想和原 ...
 - 用CSS3制作很特别的波浪形菜单
			
原文:用CSS3制作很特别的波浪形菜单 网页菜单我们见过很多,各种炫酷的.实用的菜单比比皆是.昨天我看到一款很特别的CSS3菜单,它的外形是波浪形的,弯弯曲曲,结合背景,看上去还挺不错的,下面看下一效 ...
 - uva 1556 - Disk Tree(特里)
			
题目连接:uva 1556 - Disk Tree 题目大意:给出N个文件夹关系,然后依照字典序输出整个文件文件夹. 解题思路:以每一个文件夹名作为字符建立一个字典树就可以,每一个节点的关系能够用ma ...
 - 以正确的方式开源 Python 项目(转)
			
大多数Python开发者至少都写过一个像工具.脚本.库或框架等对其他人也有用的工具.我写这篇文章的目的是让现有Python代码的开源过程尽可能清晰和无痛.我不是简单的指——“创建一个GitHub库,提 ...
 - (札记)Java应用架构设计-模块化模式与OSGi
			
本书主要模块化模式的优点.模块化方法与模式.OSGi简单使用等内容.分3大部分: 第一部分介绍了模块化概念.为什么要模块化,以及一些模块化要考虑的东西,如模块粒度,依赖关系,重用性灵活性等. 第二部分 ...
 - 探测器 C++ Singleton(辛格尔顿)
			
一.静态模式不是单一的情况下, 刚开始学习的人可能误, 误以为所有的成员变量和成员方法用于 static , 就是单例模式了: class Singleton { public: /* sta ...
 - 一Flash从入门开发者放弃了成长之路
			
本文将依照入门.成长.转行三个关键词来讲述作者这些年使用Flash进行项目开发的整个历史过程. 一.入门--開始走上Flash的道路. 和Flash的机缘要从大学时代说起.2005年下半年.学校开设了 ...
 - php实现和c#一致的DES加密解密
			
原文:php实现和c#一致的DES加密解密 php实现和c#一致的DES加密解密,可以从网上搜到一大堆,但是测试后发现都没法用.以下正确代码是我经过苦苦才找到的.希望大家在系统整合时能用的上. 注意: ...
 - Layout Renderers
			
Layout Renderers NLog package ${activityid} - Puts into log a System.Diagnostics trace correlation i ...