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上,可参见:

http://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22367111#22367111

方案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://stackoverflow.com/questions/20276907/enterprise-app-deployment-doesnt-work-on-ios-7-1/22367111#22367111

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的发布方法的更多相关文章

  1. iphone app的非appstore发布方法及其免越狱安装方法

    iphone app的非appstore发布方法及其免越狱安装方法   本文包含两项内容, 1.开发者如何将app导出为可供普通用户在外部安装的ipa文件. 2.用户使用itools来安装ipa格式的 ...

  2. 把网站打包快速在线生成ios app的正确方法

    下方的内容不用看了,请点这里 !点这里!IOS APP自助生成系统已上线,请马上去了解下: http://www.tao-jiujiu.com/post/188.html  ============= ...

  3. App渠道统计方法全面解析 总有一种适合你

    一.App渠道统计对于App推广运营的重要性 (理解App渠道统计重要性的老司机,请直接移步到第二部分) App服务的竞争重点已经由功能竞争转向市场和运营的竞争,而App的推广与运营离不开App渠道统 ...

  4. 使用Oracle ODP.NET 11g的.NET程序发布方法

    使用Oracle ODP.NET 11g的.NET程序发布方法 内容摘要:ODP.NET 11g是Oracle发布的供.NET程序访问Oracle数据库的ADO.NET组件,比微软自带的Oracle组 ...

  5. js判断移动端是否安装某款app的多种方法

    本文实例讲解了js判断移动端是否安装某款app的多种方法,分享给大家供大家参考,具体内容如下 第一种方法: 一:判断是那种设备 ? || u.indexOf(; //android终端或者uc浏览器 ...

  6. Windows Phone App Studio发布

    Windows Phone App Studio发布重要更新-支持Windows 8.1 源代码生成 自2013年8月Apps Team发布Windows Phone App Studio以来,由于其 ...

  7. 【2】IOS APP打包发布

    目的: 本文的目的是对IOS APP打包发布做了对应的介绍,大家可根据文档步骤进行mac环境部署: 申请苹果开发者账号 此处略 创建申请证书 这样做的目的就是为你的电脑安装发布许可证,只有这样你的电脑 ...

  8. JS调用App方法及App调用JS方法

    做App内嵌H5项目时,经常会遇到js与App的交互,最普遍的就是方法的互相调用,那么如何实现方法的互相调用呢? 写在前面: 如果只是小项目且后期扩大的可能性不大的时候,可以忽略,可如果是长期项目的话 ...

  9. iOS开发之app打包发布流程

    一.准备工作 苹果开发者中心 1.申请苹果开发者账号 首先需要申请苹果开发者账号才能在APP store 里发布应用. 开发者账号分类:(1)个人开发者账号 (2)企业开发者账号 主要的区别是:点击这 ...

随机推荐

  1. iOS中assign、copy 、retain等关键字的含义

    iOS中assign.copy .retain等关键字的含义  转自:http://my.oschina.net/majiage/blog/267409 assign: 简单赋值,不更改索引计数cop ...

  2. You are attempting to run the 32-bit installer on a 64-bit version of Window

    您正试图在64位版本的窗口中运行32位安装程序. 系统有32位操作系统和64位操作系统的分别,相同的软件的安装也需要区分操作操作系统的位数. 解决办法:查看自己系统类型,根据类型下载安装相应位数的软件 ...

  3. ASP.NET Core Docker部署

    前言 在前面文章中,介绍了 ASP.NET Core在 macOS,Linux 上基于Nginx和Jexus的发布和部署,本篇文章主要是如何在Docker容器中运行ASP.NET Core应用程序. ...

  4. 在MySQL的InnoDB存储引擎中count(*)函数的优化

    写这篇文章之前已经看过了很多数据库方面的优化内容,大部分都是加索引.使用事务.要什么select什么等等.然而,只是停留在阅读的层面上,很少有实践,因为没有遇到真实的项目,一切都是纸上谈兵.实践是检验 ...

  5. 自己动手写一个简单的MVC框架(第一版)

    一.MVC概念回顾 路由(Route).控制器(Controller).行为(Action).模型(Model).视图(View) 用一句简单地话来描述以上关键点: 路由(Route)就相当于一个公司 ...

  6. imagepool前端图片加载管理器(JavaScript图片连接池)

    前言 imagepool是一款管理图片加载的JS工具,通过imagepool可以控制图片并发加载个数. 对于图片加载,最原始的方式就是直接写个img标签,比如:<img src="图片 ...

  7. Inter Core CPU 型号的尾字母含义

    Inter Core CPU 型号的尾字母含义: M:表示移动处理器(Mobile Processor):QM:四核移动处理器(Quad Mobile Processor):U:超低电压处理器(Ult ...

  8. 说说设计模式~大话目录(Design Pattern)

    回到占占推荐博客索引 设计模式(Design pattern)与其它知识不同,它没有华丽的外表,没有吸引人的工具去实现,它是一种心法,一种内功,如果你希望在软件开发领域有一种新的突破,一个质的飞越,那 ...

  9. 有关bootstrap之排版

    1.标题 HTML中的所有标题标签,从<h1> 到 <h6> 均可用.另外,还提供了.h1 到.h6 class,为的是给inline属性的文本赋予标题的样式. 在标题内还可以 ...

  10. IDEA设置代码大小以及菜单栏大小

    IntelliJ IDEA设置菜单栏大小的方法:File --Settings --Appearance & Behavior -- Appearance ,右边Override defaul ...