本博客迁移来自:http://www.jianshu.com/users/465865c268ed/latest_articles
iOS企业证书的发版这里就不多说了。
由于app现在放在公司自己的服务器中,为了实现https的plist下载链接还特意把plist挂在了开源中国上。小公司,带宽小,多用户升级的时候给公司服务器带来不小的压力。所以最近工头有把ipa挂在七牛上去的想法,这样就可以有效的缓解服务器的压力。
企业版分发的plist下载链接必须是https协议的,所以需要SSL证书。如果你公司没有证书,那么可以使用七牛。
接下来开始步骤:
1:使用xcode打包生成ipa文件(过程不多说)
2:登陆七牛(默认你已有账号,没账号请注册)
3:登陆之后添加资源:


4:创建空间:


5:创建成功之后在资源列表中你可以看到你新创建的资源:


6:选中你新创建的资源名称,然后选中内容管理–>上传文件(这里先上传ipa文件):


7:上传ipa文件成功之后查看文件的外链接,如图:(你看到的链接可能并不是https的而是http的,这里后面再说明)


8:复制ipa文件的外链,接下来就是要上传plist文件了,首先创建plist文件:


在plist文件的url中填写你复制的ipa的外链。其他的只需填写bundle-identifier为你的项目的id即可,title中填写你app的名称,其他的可不变。然后保存plist文件。
9:接下来就是上传plist文件到七牛了,同ipa文件的上传一样,上传成功后点击外链接即可查看外链:

10:接下来是最重要的一步,因为你会发现你上传的plist文件的外链接并不是https的,而企业版分发的plist下载链接必须是https。所以别急.先在查看内容中保存默认域名,然后选中你创建的空间名称,你会看到页面上有个“融合CDN加速域名”的title,点击添加HTTPS域名:


好了,此时你再去内容管理中,点击你之前上传的plist文件查看它的外链接,你会发现它已经是https的了。
ok,https链接的plist文件已生成,复制链接,在代码中:

#warning 测试代码dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(2 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{UIApplication *application = [UIApplication sharedApplication];[application openURL:[NSURL URLWithString:[NSString stringWithFormat:@"itms-services://?action=download-manifest&url=https://你的plist外链接地址.plist"]]];exit(0);});

就可以升级了。
有时你会发现,在你要升级版本的时候,你虽然更换了ipa文件,但是plist文件地址所对应的url的升级包并没有变,或者你连plist文件中的url也更新重新上传,但是你再次打开plist的外链你会发现plist的内容并没有修改。为此我忙活了半天不知道为什么。后来才知道这是由于七牛缓存的原因,所以你每次要发版的时候,在你上传完ipa文件的时候,最后能去刷新一下plist文件和ipa文件,在个人看板中:

有个刷新预取得功能,复制ipa的链接或plist的外链到那里即可刷新(刷新是有次数限制的):


恩,刷新完时候你就可以愉快的升级了。(缓存很啃爹,请慢慢摸索)。
最后奉上plist文件的源码:

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict><key>items</key><array><dict><key>assets</key><array><dict><key>kind</key><string>software-package</string><key>url</key><string>ipa文件的外链,这个外链可以不是https的,也就是说http即可</string></dict><dict><key>kind</key><string>full-size-image</string><key>needs-shine</key><true/><key>url</key><string></string></dict><dict><key>kind</key><string>display-image</string><key>needs-shine</key><true/><key>url</key><string></string></dict></array><key>metadata</key><dict><key>bundle-identifier</key><string>你的bundleID</string><key>bundle-version</key><string>1.2.0</string><key>kind</key><string>software</string><key>subtitle</key><string>App</string><key>title</key><string>app名称</string></dict></dict></array>
</dict>
</plist>

ok,以上总结有什么不对或瞎扯的地方欢迎在下方留言中指出。
ps:无demo不文章,抱歉,真没有demo。

七牛云储存实现iOS企业版分发相关推荐

  1. iOS企业版分发关于plist和证书的那些事

    iOS企业版分发关于plist和证书的那些事 1.      需要ssl证书 企业版分发的plist下载链接必须是https协议的,所以需要SSL证书.去买个证书,或者免费的第三方平台的:七牛.osc ...

  2. 七牛云储存视频播放器的选择方案

    问题 在依托七牛云存储建立视频应用的过程中,使用者时常遇到播放的问题:选择什么样的播放器?使用什么样的编码和容器格式?如何适应多种客户端?等等. 播放器的要求 视频应用通常要求播放器具备以下的基本特性 ...

  3. php七牛云储存图片,wordpress使用七牛云存储图片 | 厘米天空

    说到建站,多少会用到图片存储.免费的网络相册有很多,但是做站时能用到的必须得稳定快速和支持外链,本站一直在使用的一个存储就是七牛云.注册认证通过标准用户就可以得到10G的免费存储空间和免费10G的月流 ...

  4. 七牛云图片在iOS和微信里面不显示问题处理

    最近在开发iOS项目时,采用原生+VUE开发的H5组合,资讯列表图片存储在七牛云中.在PC浏览器和安卓那边以及大部分iOS设备图片显示正常,而在部分手机iPhone6Plus(系统:iOS 12.5. ...

  5. 集成七牛云储存-上传图片Demo

    下面直接上方法,前段用文件流的形式,只需name的名称与方法中的file相同即可. *准备工作: 1.注册一个七牛账号,注册链接:点击注册 ,注册成功之后最好实名认证一下,每个月的流量以及空间的容量会 ...

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

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

  7. 七牛云存储——许式伟

    2019独角兽企业重金招聘Python工程师标准>>> [eoe专访]七牛云储存创始人:揭开GO语言的神秘面纱  作者:  小白的白  来源: eoe  标签:  Go语言揭秘  ...

  8. crmeb 多商户系统七牛云阿里云oss腾讯云cos文件上传配置教程

    本地存储不用填写表单信息 所属地域:腾讯COS和阿里云必须填写,七牛云可不填 七牛云储存创建及使用 1.获取七牛云AccessKey/SecretKey 2.打开七牛云存储 3.创建存储空间 4.绑定 ...

  9. 七牛云存储,图片储存

    七牛云存储,图片储存 概述 七牛云对象存储服务提供高可靠.强安全.低成本.可扩展的非结构化数据的存储服务.它提供简单的 Web  服务接口,可以通过七牛开发者平台或客户端存储和检索任意数量的数据,支持 ...

最新文章

  1. 遍历Collection,避免在循环中删除对象时避免ConcurrentModificationException
  2. python教程书籍-推荐python机器学习实践的书籍?
  3. Python 为啥不建议使用 thread模块?
  4. rz安装 xshell_利用XShell上传、下载文件(使用sz与rz命令)
  5. 解决:Field xxMapper in xx.service.impl.xxServiceImpl required a bean of type ‘xx.mapper.xxMapper‘
  6. Qt文档阅读笔记-Label QML Type官方解析及实例
  7. SQL报错:Column count doesn‘t match value count at row 1
  8. git submodule的工作原理
  9. github 远程仓库操作
  10. Conky Harmattan : 一款时尚的Linux桌面助手
  11. 在Eclipse中如何快速的计算代码量
  12. 【指南 】北理珠第十届C语言程序设计挑战杯
  13. html中禁止网页另存为、查看源文件、屏蔽鼠标右键
  14. N32G457VEL7移植FreeRTOS代码
  15. C++_MFC读视频文件
  16. 盘点4种微信营销如何快速吸粉的方法
  17. Element table各种合并单元格
  18. 前端开发——Ionic 3.0【爱创课堂专业前端培训】
  19. 如何区分2G/3G/4G基站
  20. Eric Lippert推荐的C#书单

热门文章

  1. javaweb个人主页设计(html+css+js)
  2. 计算机网络技术 校园网规划,大学校园网的IP地址规划
  3. 大学计算机手写图片,大学女教师坚持15年手写板书,绘图比电脑画的还好看
  4. 【SMS】移动短信网关返回信息状态代码说明【China Mobile】
  5. python编程ocr_cnocr是用来做中文OCR的Python 3包
  6. SpringBoot使用poi或EasyExcel导入导出Excel文件
  7. CC2530 ZigBee协议栈 学习心得
  8. 深度学习论文: A ConvNet for the 2020s及其PyTorch实现
  9. 网络安全工程师千峰学习总结第四天
  10. mysql 长度为0是什么意思_【解惑】mysql字段长度什么意思