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
最新文章
- xcode8.2 打包问题
- Redis 64 steps
- Mark一下,Android ListView的上下间隙
- AngularJS基础概要整理(下)
- sqlserver卡号段分组
- html和text的区别
- linux C判断文件是否存在【转】
- 记录一下学习VC的初步过程.
- Notification封装(没做从网络下载)
- SAP RFC函数远程调试跟踪管理软件
- [bzoj1999]树网的核
- 【最小生成树】Bzoj1232 [Usaco2008Nov]安慰奶牛cheer
- Selenium自动化-入门1
- LeetCode 547 朋友圈
- python全栈开发day60-django_app ORM 完整登录案例
- NP:建立可视化输入的二次函数数据点集np.linspace+np.random.shuffle+np.random.normal
- 逆袭之旅DAY.XIA.Object中常用方法
- PHP微信关注自动回复文本消息。
- linux命令(38):split 分割文件
- Maven中dependencyManagement使用
热门文章
- bash仅仅读的环境变量
- php新版本号废弃 preg_replace /e 修饰符
- ElasticDownload
- openwrt gstreamer实例学习笔记(二.gstreamer 的 Element)
- mysqld与mysqld_safe的区别
- ObjectARX学习笔记(三十二)----怎样设置AcDbMText对齐方式
- 【bzoj3210】花神的浇花集会
- __sizeof__()
- Axure Base 01
- Deep Learning 36:python中的一些函数