ios7.1 in-house app的发布方法
iOS7.1版本的in-house app必须发布到https站点才能下载安装,原来的连接:
itms-services://?action=download-manifest&url=http://example.com/manifest.plist
需要修改为:
itms-services://?action=download-manifest&url=https://example.com/manifest.plist
可参见:
http://www.hanchorllc.com/2014/02/01/ios-7-1-requires-ad-hoc-installs-to-be-over-https/
方案1:将ipa文件和plist文件上传到dropBox上,可参见:
方案2:购买第三方CA证书
方案3:使用openssl生成自签名证书
现以apache_2.2.8作为web服务器为例说明方案3
1. 安装并配置apache
- 下载apache_2.2.8-win32-x86-openssl-0.9.8g.msi,这个版本自带openssl,安装后配置httpd.conf文件:
- 去掉LoadModule ssl_module modules/mod_ssl.so前面的井号
- 去掉Include conf/extra/httpd-ssl.conf前面的井号
- 配置httpd-ssl.conf文件:
- 将SSLSessionCache "shmcb:D:/Program Files (x86)/Apache Software Foundation/Apache2.2/logs/ssl_scache(512000)"注释掉,否则报错:SSLSessionCache: Invalid argument: size has to be >= 8192 bytes
2. 生成证书
将文件openssl.cnf拷贝到bin目录下,依次执行下列语句:
openssl genrsa -out server.key 1024
openssl req -new -key server.key -out server.csr -config openssl.cnf
openssl genrsa -out ca.key 1024
openssl req -new -x509 -days 365 -key ca.key -out ca.crt -config openssl.cnf
openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key -config openssl.cnf
如提示输入Common Name,请输入服务器IP或域名。最后一条指令执行前需要在bin目录创建demoCA,里面创建文件夹newcerts和文件index.txt及serial,index.txt为空,serial内容为01。
将生成的文件server.crt和server.key拷贝到D:\Program Files\Apache Group\Apache2\conf下面,这个位置可以在httpd-ssl.conf文件中修改
将.plist和.ipa文件拷贝到D:\Program Files\Apache Group\Apache2\htdocs,这个位置也可以在httpd-ssl.conf中修改,如果是http访问方式则在httpd.conf中修改
3. 在设备上安装app
将ca.crt用邮件发送到设备,在设备上安装后用Safari访问
tms-services://?action=download-manifest&url=https://example.com/manifest.plist。实际情况下可以做一个html文件,把上述地址做出一个链接。
4. 注意
- 如果安装apahce后没有自动生成windows服务,请执行bin目录下的httpd命令,格式:
httpd -k -install
- 如果是较早的apahce版本,可能没有这个命令,请执行:
Apache -k install
- 如apahce服务不能正常启动,可在开始菜单找到-Apache HTTP Server 2.0-Configure Apache Server-Test Configuration,运行并查看结果,也可以在cmd下运行直接运行httpd。
- http访问的端在httpd.conf文件中设置(ctrl+f搜索80或8080)
- https访问端口在httpd-ssl.conf文件中设置(ctrl+f搜索443)
5. 参考
http://blog.csdn.net/zhaoxy_thu/article/details/21133399#reply
http://stackoverflow.com/questions/22411449/ios-7-1-ota-ssl-error
http://www.hanchorllc.com/2014/02/01/ios-7-1-requires-ad-hoc-installs-to-be-over-https/
http://hi.baidu.com/johnzhjfly/item/024b494104674ee91e19bc95
ios7.1 in-house app的发布方法的更多相关文章
- iphone app的非appstore发布方法及其免越狱安装方法
iphone app的非appstore发布方法及其免越狱安装方法 本文包含两项内容, 1.开发者如何将app导出为可供普通用户在外部安装的ipa文件. 2.用户使用itools来安装ipa格式的 ...
- 把网站打包快速在线生成ios app的正确方法
下方的内容不用看了,请点这里 !点这里!IOS APP自助生成系统已上线,请马上去了解下: http://www.tao-jiujiu.com/post/188.html ============= ...
- App渠道统计方法全面解析 总有一种适合你
一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...
- 使用Oracle ODP.NET 11g的.NET程序发布方法
使用Oracle ODP.NET 11g的.NET程序发布方法 内容摘要:ODP.NET 11g是Oracle发布的供.NET程序访问Oracle数据库的ADO.NET组件,比微软自带的Oracle组 ...
- js判断移动端是否安装某款app的多种方法
本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...
- Windows Phone App Studio发布
Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成 自2013年8月Apps Team发布Windows Phone App Studio以来,由于其 ...
- 【2】IOS APP打包发布
目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...
- JS调用App方法及App调用JS方法
做App内嵌H5项目时,经常会遇到js与App的交互,最普遍的就是方法的互相调用,那么如何实现方法的互相调用呢? 写在前面: 如果只是小项目且后期扩大的可能性不大的时候,可以忽略,可如果是长期项目的话 ...
- iOS开发之app打包发布流程
一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...
随机推荐
- 细数iOS上的那些安全防护
细数iOS上的那些安全防护 龙磊,黑雪,蒸米 @阿里巴巴移动安全 0x00 序 随着苹果对iOS系统多年的研发,iOS上的安全防护机制也是越来越多,越来越复杂.这对于刚接触iOS安全的研究人员来说非 ...
- Expert 诊断优化系列------------------你的CPU高么?
现在很多用户被数据库的慢的问题所困扰,又苦于花钱请一个专业的DBA成本太高.软件维护人员对数据库的了解又不是那么深入,所以导致问题迟迟不能解决,或只能暂时解决不能得到根治.开发人员解决数据问题基本又是 ...
- ABP理论学习之内嵌资源文件
返回总目录 本篇目录 介绍 创建内嵌文件 暴露内嵌文件 使用内嵌文件 介绍 在一个web应用中,有供客户端使用的javascript,css,xml等文件.它们一般是作为分离的文件被添加到web项目中 ...
- 自己动手模拟开发一个简单的Web服务器
开篇:每当我们将开发好的ASP.NET网站部署到IIS服务器中,在浏览器正常浏览页面时,可曾想过Web服务器是怎么工作的,其原理是什么?“纸上得来终觉浅,绝知此事要躬行”,于是我们自己模拟一个简单的W ...
- mysql定义和调用存储过程
/*定义delimiter为 // */ delimiter // CREATE procedure sp_add3(a int, b int,out c int) begin set c=a+ b; ...
- Eclipse安装ZooKeeper插件
Eclipse在线安装插件奇慢的解决办法 安装ZooKeeper插件步骤如下:Step 1. 在 Eclipse 菜单打开Help -> Install New Software…Step 2. ...
- 前端编码规范之JavaScript
上次浅谈了下关于CSS的编码规范,大部分童鞋持赞同意见,仍存在一些童鞋不太理解这些规范的意义. 如果是个人或者小作坊开发,其实这些所谓的编码规范也没啥意思,因为大家写好的代码直接就给扔到网上去了,很少 ...
- 2013 duilib入门简明教程 -- 完整的自绘标题栏(8)
看了前面那么多教程,相信对duilib已有基本映像了,我们就快马加鞭,做出一个完整的自绘标题栏吧~ 看到下面这个效果图,小伙伴们是不是有点惊呆了呢~O(∩_∩)O~ dui ...
- 即时搜索(input框)
做搜索功能的时候,经常遇到输入框检查的需求,最常见的是即时搜索,今天好好小结一下. 即时搜索的方案: (1)change事件 触发事件必须满足两个条件: a)当前对象属性改变,并且是由键盘或鼠标 ...
- SSIS Data Flow 的 Execution Tree 和 Data Pipeline
一,Execution Tree 执行树是数据流组件(转换和适配器)基于同步关系所建立的逻辑分组,每一个分组都是一个执行树的开始和结束,也可以将执行树理解为一个缓冲区的开始和结束,即缓冲区的整个生命周 ...