当前位置:首页 » 存储配置 » 七牛云存储iOS

七牛云存储iOS

发布时间: 2024-08-08 15:48:07

⑴ 初次使用七牛云存储,请问这是什么问题

使用七牛云存储解决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协议的第三方服务器上。

三.解决问题

使用七牛云存储,可以快速,免费解决这个问题。只需要到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进行测试了。

四. 感谢七牛云存储

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

五. 因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=您仍要连接此服务器吗?,NSLocalizedFailureReason=无法建立安全连接。请检查“日期与时间”设置。,NSErrorFailingURLStringKey=https://192.168.1.22/ekwing.plist,NSUnderlyingError=0x165b37e0 "此服务器的证书无效。您可能正在连接到一个伪装成“192.168.1.22”的服务器,这会威胁到您的机密信息的安全。",=<SecTrustRef:0x166b83e0>,NSErrorFailingURLKey=https://192.168.1.22/ekwing.plist}

⑵ 同样是云存储的又拍云和七牛,为什么价格差那么大

我觉得理想的云存储应该是这样的:

首先,空间可以设置单独的存储和流量配额; 计费方面,流量可以提前买,但存储应该按照实际的使用来收取,而不是像又拍一样提前买,这样比较浪费精力。

其它SDK和开发工具方面最完善一下更好,提供更高级的API,比如可以操作空间,来实现一些更高级的应用。在某种理想情况下,如果这位客户一开始就是1TB数据量而且之后一直保持这个数量级,那么确实用又拍会比我们的便宜。不过这种理想情况一般不存在,比较常见的是买了1TB空间,结果好几年都还没用足这个配额。

热点内容
脚本一般用在什么地方 发布:2024-11-25 11:13:28 浏览:823
php上传xls 发布:2024-11-25 11:01:46 浏览:678
formphp 发布:2024-11-25 11:01:45 浏览:553
数据库主表 发布:2024-11-25 10:54:13 浏览:228
什么是cf脚本 发布:2024-11-25 10:51:48 浏览:920
存储台设计 发布:2024-11-25 10:40:04 浏览:668
如何查看自己电脑的所有配置 发布:2024-11-25 10:14:02 浏览:771
java编译器伪编译指什么 发布:2024-11-25 10:08:53 浏览:961
amax服务器默认地址 发布:2024-11-25 10:07:20 浏览:318
甘肃省浪潮服务器云服务器 发布:2024-11-25 10:07:17 浏览:522