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)企业开发者账号 主要的区别是:点击这 ...
随机推荐
- java学习笔记(3)之面向对象(1)
下面来谈谈我对面向对象的一些理解和总结. 1.什么叫面向对象?我自己的理解就是一种编程思想,强调对象,是一种思考问题的思维模式.在学习面向对象的时候,我们要建立起自己面向对象的思维模式. (1).先整 ...
- Default Parameter Values in Python
Python’s handling of default parameter values is one of a few things that tends to trip up most new ...
- SQL Server2016 原生支持JSON
SQL Server2016 原生支持JSON SQL Server 2005 开始支持 XML 数据类型,提供原生的 XML数据类型.XML 索引以及各种管理 XML 或输出 XML 格式的函数. ...
- Jexus 支持PHP的三种方式
Jexus不仅支持ASP.NET,而且能够通个自带的PHP-FCGI服务以及PHP-FPM等方式灵活支持PHP而且还可以以.NET(Phalanger)方式支持PHP. PHP-FCGI服务支持PHP ...
- C#中自己动手创建一个Web Server(非Socket实现)
目录 介绍 Web Server在Web架构系统中的作用 Web Server与Web网站程序的交互 HTTPListener与Socket两种方式的差异 附带Demo源码概述 Demo效果截图 总结 ...
- Module-Zero之版本管理
返回<Module Zero学习目录> 概要介绍 版本实体 版本管理者 概要介绍 绝大多数的SaaS(多租户)应用都有多个具有不同特征的版本(包).因此,他们可以给租户(即客户)提供不同的 ...
- WCF 客户端代理生成 通过SvcUtil.exe
WCF服务调用通过两种常用的方式:一种是借助代码生成工具SvcUtil.exe或者添加服务引用的方式,一种是通过ChannelFactory直接创建服务代理对象进行服务调用. 下面简单说下如何通过Sv ...
- java compiler level does not match the version of the installed java project facet 解决方案
项目出现 java compiler level does not match the version of the installed java project facet 错误,一般是项目移植出现 ...
- Laravel 5.3 请求处理管道详解
对于一个Web应用来说,在一个请求真正处理前,我们可能会对请求做各种各样的判断,然后才允许后续处理. 我们通常的做法: Script 01.php Script 02.php 优点:直观,容易理解 缺 ...
- Sublime 快捷键
语法快捷键: 后代:> 缩写:nav>ul>li <nav> <ul> <li></li> </ul> </nav& ...