使用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.lang.ClassNotFoundException: org.apache.catalina.startup.VersionLoggerListener
解决办法 找到Tomcat配置文件server.xml apache-tomcat-7.0.57/conf 将<Listener className="org.apache.cat ...
- 浏览器-04 WebKit 渲染2
渲染主循环(main loop)和requestAnimationFrame requestAnimationFrame 使用requestAnimationFrame而非setTimeout/set ...
- Java中的void
转:关于void 学过java的人都知道void的意思是空,是java中的关键字.最初在知道void的时候是public static void main(String[]args){},我记得当初接 ...
- 【转】XAMPP中配置多个网站
XAMPP虚拟主机配置,多域名绑定访问本地站点 XAMPP有时候你需要一些顶级域名访问方式来访问你本地的项目也就是虚拟主机配置,这时候就需要配置虚拟主机,给你的目录绑定一个域名,实现多域名绑定访问. ...
- java的poi技术读取Excel[2003-2007,2010]
这篇blog主要是讲述java中poi读取excel,而excel的版本包括:2003-2007和2010两个版本, 即excel的后缀名为:xls和xlsx. 读取excel和MySQL相关: ja ...
- Java_类的热替换
转自:http://www.ibm.com/developerworks/cn/java/j-lo-hotswapcls/#ibm-pcon Java ClassLoader 技术剖析 在本文中,我们 ...
- Wordpress 所有hoor列表
d 在插件加载的时候执行 wp_footer 加载页面底部时执行 admin_menu 加载管理员菜单时执行 wp_head 在body标签的开始添加html内容 after_setup_theme ...
- Python之路第一课Day2--随堂笔记
入门知识拾遗 一.bytes类型 bytes转二进制然后转回来 msg="张杨" print(msg) print(msg.encode("utf-8")) p ...
- spark 2.0 Vector toBreeze
def toBreeze( _v : Vector ) : BZV[Double] = { _v match { case x : org.apache.spark.mllib.linalg.Dens ...
- 00 LabVIEW中类的动态类型处理
1.父类使用自己的Method,连线默认为父类自己的控件 2.如果子类没有重写父类的Method,则子类使用父类方法时,直接创建出来即自己的数据类型 3.如果子类重写了父类的Method,则子类使 ...