使用HTTPS网站搭建iOS应用内测网站(OTA分发iOS应用)
为什么要搭建应用内测网站呢?
1.AppStore的审核速度比较慢,万一被拒,还得等,而且一旦发布,任何人都可以下载,而有些时候只有老板想知道最新的修改是否符合要求,万一不符合要求呢?又要修改了。
2.Google AppStore的审核速度只需两三个小时,时间上甩了iOS审核几条街
3.搭建内测网站,我们只需要一个html文件、一个Plist文件、一个iPA安装包,它的好处是,只要配置好Plist和html,用户使用Safari浏览器打开网址,点击链接就可以安装,手机不需要越狱,只需要把手机的UUID加入到APPID中,我们更换版本更方便,也可以方便客户安装测试最新版本。
下面来介绍下步骤:
一、准备文件
1.打包iPA文件,首先Archives一下

然后先择导出的iPA的类型。
"Save for iOS App Store Deployment"选项导出的是 保存到本地 准备上传App Store 或者在越狱的iOS设备上使用 的iPA文件;
"Save for Ad Hoc Deployment"选项导出的是 保存到本地 准备在账号添加的可使用设备上使用(具体为在开发者账户下添加可用设备的udid),该app包是发布证书编译的(The app will be code signed with the distribution certificate.)
"Save for Enterprise Deployment"选项导出的是 针对企业级账户下 准备本地服务器分发的app
"Save for Development Deployment"选项导出的是 针对内部测试使用,主要给开发者的设备(具体也为在开发者账户下添加可用设备的udid)。该app包是开发证书编译的(The app will be code signed with your development certificate)
这里我们选择第二个选项"Save for Ad Hoc Deployment"导出 iPA文件。

2.准备plist文件,这里放一个Plist模板,大家拷贝代码,然后使用Sublim工具保存成xxx.plist文件,然后使用Xcode编辑修改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文件的下载地址(例如,http://xx.com/xx.ipa)</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>这里填写Bundle ID</string>
<key>bundle-version</key>
<string>这里填写版本号</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>这里填写应用标题</string>
</dict>
</dict>
</array>
</dict>
</plist>
3.准备一个HTML文件。这个HTML页面上我们需要放置一个提供itms-services协议的链接,用户只需要打开这个链接就可以进行在线安装,这里需要注意的是,这个链接指向的是plist文件的地址,例如:
<a href="itms-services://?action=download-manifest&url=https://xx.com/xx.plist">一键安装</a>
所以说,iOS应用的OTA方式安装的核心就是苹果的items-services协议,Safari可以通过解析itms-services协议来实现一键安装,在iOS7.1之前plist文件的URL地址没有限制,但是之后,苹果修改了规则,这个URL必须是可信任的https链接,至于其它的例如iPA文件的链接,没有特殊要求。
HTTPS链接如何配置,可以参考我的另一篇文章:MAC使用MAMP构建自签名HTTPS环境,好的,本篇博文到此结束。
参考链接:
http://jeepxiaozi.github.io/mian-app-storefen-fa-iosying-yong.html
http://www.jianshu.com/p/38443224ac89
使用HTTPS网站搭建iOS应用内测网站(OTA分发iOS应用)的更多相关文章
- 网站搭建-windows 系统 本地 网站搭建 - IIS
上一章有提到IIS安装,现在打开它: 点击浏览,如果没有启动的话,先点击启动. ip先选好,第一个吧,本机的(IIS自己提供了初始网页的东西). 然后可以自己去https://www.freemoba ...
- Apsara Clouder云计算专项技能认证:网站建设-简单动态网站搭建
一.课程介绍 1.课程目标 了解静态网站和动态网站的区别 掌握动态网站的不同实现方式 在阿里云上如何搭建 wordPress网站以及 wordPress 网站的管理和优化 二.网站搭建的类型 1.网站 ...
- https双向认证网站搭建
新建网站 在搭建网站证书之前,我们先搭建好我们的网站 1.网站基本搭建 为我们的项目新建一个网站,按照如下的步骤来 1,打开IIS,右键单击网站弹出菜单,选择网站(如图1.1.1) 图1.1.1 2, ...
- Tomcat双向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端超安全通信
紧接着<Tomcat单向Https验证搭建,亲自实现与主流浏览器.Android/iOS移动客户端安全通信>,此处演示下更安全的双向Https认证的通信机制,为了清晰明了,以下进行单独描述 ...
- Tomcat单向Https验证搭建,亲自实现与主流浏览器、Android/iOS移动客户端安全通信
众所周知,iOS9已经开始在联网方面默认强制使用Https替换原来的Http请求了,虽然Http和Https各有各的优势,但是总得来说,到了现在这个安全的信息时代,开发者已经离不开Https了. 网上 ...
- 如何在VPS上搭建WordPress博客网站(史上最全图文教程)
由于现在很多人仍然使用共享主机,所以我决定写这篇教程,教你如何设置自己的虚拟专用服务器(VPS),以便为启动一个 WordPress 网站准备好所有必要的服务. 为什么共享托管不是最好的选择? 你的 ...
- 阿里云+wordpress搭建个人博客网站【小白专用的图文教程】
[声明] 欢迎转载,但请保留文章原始出处→_→ 生命壹号:http://www.cnblogs.com/smyhvae/ 文章来源:http://www.cnblogs.com/smyhvae/p/4 ...
- 阿里云+wordpress搭建个人博客网站
[正文] 在阿里云上搭建使用个人博客主要分为以下几个步骤: 1.购买阿里云ECS主机 2.购买域名 3.申请备案 4.环境配置 5.安装wordpress 6.域名解析 声明一下,本人对服务器端的知识 ...
- ios开发相关网站
1.苹果开发者中心(ios Dev Center):最权威的学习ios开发的地方,提供ios开发所能用到的所有内容(包含文档.指南以及实例代码). https://developer.apple.co ...
随机推荐
- JAVA基础中的注意点(二)
1.数组 a.特点:同种数据类型:数组类型一旦确定就不能改变. 连续空间存放:数据空间是连续的. 空间长度:数组有自己的长度,初始化的时候需要定义. 数组的下标:从0开始,第一个数组元素下标为0,最后 ...
- 廖雪峰js教程笔记14 file文件操作
在HTML表单中,可以上传文件的唯一控件就是<input type="file">. 注意:当一个表单包含<input type="file" ...
- NOIP2008 ISBN号码(一桶水)【A005】
[A005]NOIP2008 ISBN号码(一大桶水)[难度A]———————————————————————————————————————————————————————————————————— ...
- 虚拟主机Dede程序安装
1. 在网上下载最新版本DedeCMS 2. 将Dede程序通过FTP上传到主机上的htdocs目录. 3. 在主机控制台将程序解压到根目录. 4. 将解压后的 upload 目录下的文件全部移动到 ...
- 2014亚马逊在线笔试题目及解决方案(MMChess问题)
整体思路:关键是需要知道当前Steps数组中的全排列即可,而且需要不重复的全排列.即关键在于非递归的全排列实现即可~ 其实直接利用STL中的next_permutation算法的,这里我又自己实现了一 ...
- css position的使用
css position的使用 css 的 position 属性是用来设置元素的位置的,它还能设置一个元素出现在另一个元素的下层元素能用 top,bottom,left 和 right 属性设置位置 ...
- 【BZOJ】3523: [Poi2014]Bricks
题意 \(n(n \le 1000000)\)个物品,颜色分别为\(a[i]\),现在要求排在一排使得相邻两个砖块的颜色不同,且限定第一个砖块和最后一个砖块的颜色,输出一个合法解否则输出-1. 分析 ...
- Xcode8 更新后的坑及常见错误
1.Xcode更新后,command + / 注释整行代码不起作用了,可以终端运行sudo /usr/libexec/xpccachectl,并重启电脑 可以参考http://blog.csdn.n ...
- android studio 问题1
在使用androidStudio中,经常导入其他的项目,有时候会出现以下错误: rror:FAILURE: Build failed with an exception. * What went wr ...
- About_类与对象03
php中的static: 1:属于静态变量:: 2:是全部类的属性: 3:调用静态变量要用::(两个冒号). eg:1 <html> <head> <title>s ...