iOS 自建企业级应用(In-House)分发平台
注意事项
自建分发平台,首先需要有一个可以提供下载功能的服务器,而且服务器需要支持HTTPS协议!
其实,使用七牛云就可以完成这些操作。
推荐方案
七牛云实践方案简述(感兴趣的朋友可以和我交流具体的实现方案):
买入一个域名并配置子域名用于App下载,然后去腾讯云申请一个免费的SSL证书,再去七牛云配置CDN以及HTTPS。
后续需要进行上传的文件,都可以存入七牛云中。
操作步骤
1.首先以Ad-hoc方式进行打包,然后导出.ipa文件;
2.自定义一个供浏览器获取的应用安装配置文件,比如当前版本为1.0.0,这个文件的文件名可以定义为:manifest_v1.0.0.plist;
manifest_v1.0.0.plist中定义了App的实际下载地址、图标、包名、版本、应用名称等信息;
在进行自定义manifest_v1.0.0.plist的操作之前,你需要将 57x57 和 512x512 像素的png文件、已导出的.ipa文件文件 上传到你的HTTPS服务器上,以供iOS系统下载资源;
根据个人情况,自定义文件里的内容:
<?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>https://xxx.xxx.com/app_v1.1.1.ipa</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://xxx.xxx.com/57x57.png</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://xxx.xxx.com/512x512.png</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.your.app</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>App-Name</string>
</dict>
</dict>
</array>
</dict>
</plist>
3.将这个配置好的manifest_v1.0.0.plist文件上传到你的HTTPS服务器上,配置好manifest_v1.0.0.plist的外部访问路径,比如: https://xxx.xxx.com/manifest_v1.0.0.plist。
这个链接其实就是下载App时第一步需要下载的内容,iOS系统根据这个manifest_v1.0.0.plist去下载真正的App,然后进行安装。
4.在Safari浏览器中尝试访问 itms-services://?action=download-manifest&url=https://xxx.xxx.com/manifest_v1.0.0.plist (将网址改为你自己配置的域名)。
如果你的配置都是有效的,你将会看到系统的应用安装提示!
5.在后续更新中,每次更新都上传一个新版本的 app_va.b.c.ipa 文件到HTTPS服务器上,然后上传对应版本的已配置好的 manifest_va.b.c.plist 文件到HTTPS服务器上。
然后将下载地址改为 itms-services://?action=download-manifest&url=https://xxx.xxx.com/manifest_va.b.c.plist ,即可下载最新的版本啦!
参考文章:
Ficow原创,转载请注明出处: https://www.cnblogs.com/ficow/p/10039469.html
iOS 自建企业级应用(In-House)分发平台的更多相关文章
- 分析Tapjoy的模式—分发用于ios设备的企业级应用程序
下面简单介绍下Tapjoy的模式,供大家参考: Tapjoy最初的合作模式:“按安装奖励”(pay-per-install) Tapjoy利用非常成功的奖励性下载模式影响了App Store的免费游戏 ...
- iOS自建分发
1.首先满足具有https证书的域名和空间.2.通常使用github或者国内第三方托管平台.3.上传ipa文件到空间内,获取ipa文件的下载地址.4.然后编辑plist文件(注意:ipa文件和plis ...
- Maven--构建企业级仓库(二)
<Maven--搭建开发环境(一)> <Maven--构建企业级仓库(二)> <Maven—几个需要补充的问题(三)> 看到经历的两家公司 ...
- 手把手教你 iOS通过自己的服务器实现应用分发
第一步:打包ipa 1:可以是development.ad-hoc.enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上. 2:如下图,箭头指的要打勾 3.点击下一步后出 ...
- 基于Spring4+SpringMVC4+Mybatis3+Hibernate4+Junit4框架构建高性能企业级的部标GPS监控平台
开发企业级的部标GPS监控平台,投入的开发力量很大,开发周期也很长,选择主流的开发语言以及成熟的开源技术框架来构建基础平台,是最恰当不过的事情,在设计之初就避免掉了技术选型的风险,避免以后在开发过程中 ...
- java中用中国网建提供的SMS短信平台发送短信
接下来的项目需求中提到需要短信发送功能,以前没有做过,因此便在网上搜了一下.大体上说的都是有三种方法,分别是sina提供的webservice接口.短信mao和中国网建提供的SMS短信平台. 这三种方 ...
- streamdataio 实时数据分发平台
streamdataio 是一个实时的数据分发平台(当然是收费的,但是设计部分可以借鉴),我们可以通过这个平台 方便的拉取rest api 数据,或者发布数据到后端,streamdataio 可以帮助 ...
- 短信验证登陆-中国网建提供的SMS短信平台
一.JAVA发送手机短信常见的有三种方式(如下所列): 使用webservice接口发送手机短信,这个可以使用sina提供的webservice进行发送,但是需要进行注册 使用短信mao的方式进行短信 ...
- iOS UI-创建空项目
一.创建工程 二.删除ViewController 三.在Supporting Files/Info.plist文件中清空值 四.创建新的控制器 五.写代码 1.在AppDelegate.h文件中 # ...
随机推荐
- [转载]JSONP跨域的原理解析
JavaScript是一种在Web开发中经常使用的前端动态脚本技术.在JavaScript中,有一个很重要的安全性限制,被称为“Same-Origin Policy”(同源策略).这一策略对于Java ...
- JAVA的WebService规范JAX-WS
JAX-WS的服务端.客户端双方传输数据使用的SOAP消息格式封装数据. 一.下载apache-cxf-3.1.4.zip. 二.编写服务端 1.编写一个Web Service用来传输参数的类 pac ...
- 浅谈JavaScript的Canvas(绘制图形)
HTML5中新增加的一个元素canvas,要使用canvas元素,浏览器必须支持html5.通过canvas标签来创建元素,并需要为canvas指定宽度和高度,也就是绘图区域的大小. <canv ...
- 有遍历struct中字段信息的函数或方法
例:struct a{int a;char b[10];double c;}; 在程序中只知道一个结构 a 的指针, 有没有函数能通过结构的名字 和 指向结构的指针 随次得到 结构中的变量类型 和 变 ...
- jquery一个比较好的轮播图jQuery.kinMaxShow介绍
kinMaxShow API 可选参数以及详解 kinMaxShow 主参数详解 参数名称 默认值 简单释义 height 500 [整型 (单位:像素)]焦点图高度,必须设置 缺省则启用默认高度 5 ...
- gdb调试使用autotools工程的项目
1 保留debug sympol和优化等级设置为-O0的最简单的方法 在执行configure脚本生成Makefile文件时,使用CXXFLAGS宏,因为标准的configure脚本给了这个宏. .. ...
- CSS3 的10种Loading
昨晚用CSS3实现了几种常见的Loading效果,虽然很简单,但还是分享一下,顺便也当是做做笔记…… 第1种效果: 代码如下: <div class="loading"> ...
- 【独立开发人员er Cocos2d-x实战 007】使用Cocos2dx UserDefault.xml
这篇博客是因为下述问题产生的 -(代码1): std::string str = FileUtils::getInstance()->getWritablePath(); CCLOG(str.c ...
- HDU1532 Drainage Ditches —— 最大流(sap算法)
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=1532 Drainage Ditches Time Limit: 2000/1000 MS (Java/ ...
- 通过powershell操作eventlog
relevant command list ~\Desktop> (Get-Command Write-EventLog).Parameters Key Value --- ----- Warn ...