iOS app 企业内部发布及HTTPS服务器配置

转自: http://www.cnblogs.com/cocoajin/p/4082488.html

 

iOS企业内部发布及HTTPS服务器配置

一:所需的条件

1. 苹果开发者证书,企业版 299$ 版本

2. ssl 证书,即https使用的服务器证书

3. web服务器,支持https

4. 一个域名,可以是子域名,绑定ssl证书和https服务器

二:大致流程

  申请免费或付费ssl证书-----》 配置https web服务器------》发布企业版ios app-----》配置safari浏览器安装

1: ssl证书,由于苹果最近的新要求,之前发布使用的http方式已经不行了,现在必须使用https,所以我们需要ssl证书;而ssl证书一般都是有CA机构颁发的,,网上好多大的CA机构,大多收费,,不过目前也有免费的ssl证书,这里,我使用的是免费的ssl证书,有效期为1年,在浏览器上,可以看到是 绿色的,已验证身份的 ssl 证书

 免费 ssl 申请 www#wo#sign#com  去掉 ## ,你懂的

 只支持绑定一个域名,可以是子域名,比如 ssl.abc.com,在申请证书绑定时,会验证域名,验证你对域名的所有权;

 申请成功之后,CA会给你颁发一个 ssl证书的压缩包,命名为你绑定的域名,压缩包里面解压后是各种web服务器的https证书,比如apache,iis,ngnix,tomcat 等

2:配置https web服务器

 感谢朋友为我提供的测试 vps

 这里我使用的是 ubuntu12 ,apache2

 首先做域名解析 ,把和ssl证书绑定的域名 ssl.abc.com  A记录指向 服务器地址,服务器绑定域名

 上传 forApache.zip 里面的 证书到 服务器上 

  配置apache2的 ssl配置文件 /etc/apache2/sites-available/default-ssl

 

如图 51行,52行,,把相应的证书上传到指定目录,并添加到配置文件里面,为apache2服务器加上 ssl证书

然后,启动 apache2的 ssl功能,模块,并重新启动 apache2服务器,测试https 访问是否正常

a2ensite default-ssl 

a2enmod ssl

apache2 restart 

关于ubuntu 服务器 apache2 ssl 服务的配置,可以参考 :http://www.server-world.info/en/note?os=Ubuntu_14.04&p=httpd&f=7

3 . 使用企业证书打包ios app

   如何使用企业证书打包,可以参考 http://blog.csdn.net/mergerly/article/details/17352735

    我这里只说明一下,打包发布的后一部分,关于 企业分发的部分,在最后打包的时候把 Save for Enterprise Distribution勾上

  

 注意 填写的url,一定要是你的 https服务器的目录,上面保存会在桌面生成两个文件,一个ipa,一个plist文件;

 然后把 ipa和plist 文件 一起放到 https服务器的指定目录,我放的是根目录,所以url填写如上图;

 如上图,我的url及服务器地址  https://teso.cocoajin.org/Testapp.ipa;

 然后,新建立一个,访问的安装网页 test.html ,同样把 test.html放到https网站根目录,可以这样用手机safari浏览器,访问https://teso.cocoajin.org/test.html 安装

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
<html>
<meta http-equiv="content-type" content="text/html; charset=UTF-8" />
<head> <title>testapp 安装 </title> </head>
<body>
<center>
<h2> 请使用苹果的safari浏览器打开本页面,然后点击 安装  </h2>
<font size="13">
<h1><a href="itms-services://?action=download-manifest&url=https://teso.cocoajin.org/Testapp.plist"> 安装</a>  </h1>
</font>
</center>
</body>
</html>

  重点是这句 

1
<h1><a href="itms-services://?action=download-manifest&url=https://teso.cocoajin.org/Testapp.plist"> 安装</a>  </h1>

    指向你的https服务器根目录下的 Testapp.plist文件,手机访问它,,它去找指定目录下的 Testapp.ipa,然后根据协议签名规则在手机上下载安装 Testapp

 

 注意:如果你手机测试访问 test.html无法安装,就在 服务器的mime.types 里面,添加一下

application/octet-stream ipa
text/xml plist

mime.types文件目录为 linux下 /etc/mime.types

 window服务器 apache/conf/myme.types

4. 上面的都配置完之后,

   用 iphone 的safari 浏览器打开  https://teso.cocoajin.org/test.html ,即你指定的访问安装页面,然后在手机里面,点击安装,,然后,打开,

   如果你的手机第一次安装某企业证书发布的app时,会提示你信任一下证书,即可;

  个人的测试页面及服务器以后可能停掉,请仔细查看流程,自行搭建企业发布平台

 

转载于:https://www.cnblogs.com/xiaoc1314/p/5952555.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/256227.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Pytorch超简单安装教程

安装Pytorch 1.1 安装Annaconda 安装Pytorch首先需要安装Annaconda&#xff0c;按照教程&#xff0c;安装了Annaconda5.2.0的版本。 路径 记住安装路径即可&#xff0c;其余均选默认。 1.2 安装Pytorch 第一步&#xff0c;打开Anaconda Prompt 。然后输入 conda create -n…

44. 源代码解读-RocketMQ-架构

1. 前言 1.1 github源代码 https://github.com/apache/rocketmq 1.2 github其他客户端&#xff0c;比如c,php https://github.com/apache/rocketmq-externals 1.3 运行进程 RocketMQ分成两个进程运行 NamesrvBrokerNamesrv&#xff0c;命名服务&#xff0c;主要负责Broker状态管…

Pytorch基础(一) —— tensorboard的应用

一、简介与安装方法 1.1 概念 Tensorboard 是 TensorFlow 的一个工具包&#xff0c;用于展示网络图、张量的指标变化和分布情况&#xff0c;如权重W、偏置B、卷积层数、全连接层数等参数&#xff0c;使用该工具可以方便观察神经网络训练过程&#xff0c;分析学习模型训练的效…

【WIN10】WIN2D——基本圖形的繪製

DEMO下載地址&#xff1a;http://yunpan.cn/c3iNuHFFAcr8h &#xff08;提取码&#xff1a;8e48&#xff09; 先看一個截圖&#xff1a; 繪製了一些基本形狀。 DEMO的繪製代碼都非常簡單&#xff0c;不想在博客裡細說了&#xff0c;看代碼更為清晰些。 可能繪製扇形的代碼有些麻…

python socket 网络编程

socket 套接字&#xff1a;网络接口。 我们在网络上需要传输自己需要的数据&#xff0c;我们在网络上传输数据使用的是网络协议&#xff0c; 而套接字就是我们将数据从本地采用协议传输的接口 socket模型&#xff1a; socket族&#xff1a; #AF_UNIX 被使用在类unix系统之间进行…

Python中利用plt显示中文标题解决方案

解决方法 plt.rcParams[font.sans-serif][SimHei] plt.rcParams[axes.unicode_minus] False plt.title(灰度级别频率图) plt.show()

Pytorch基础(四)—— 卷积层

一、概念 卷积从数学的角度讲是一种矩阵的运算方法。我们可以用一个卷积核对一个矩阵进行卷积运算&#xff0c;具体运算过程图示可以见pytorch官网。 卷积运算按输入数据的通道数可分为单通道和多通道两种。 单通道是指卷积核只有一个的情况。 多通道包括两种。 分别是单个…

【图像处理】——创建一个新的图片

方法一:直接复制一个已经存在的图片 img.copy() 如果是想生成一个指定大小的图片,则可以通过numpy数组进行创建 方法二:通过numpy创建(注意有坑) img = numpy.zeros((h,w))#h,w是指定的图像的高和宽,这样看似可以其实不然上述方法得到的图像不是8位的,但是图像数组的…

How to make a Logical Volume ON AIX5.3

本文转自 xkdcc 51CTO博客&#xff0c;原文链接&#xff1a;http://blog.51cto.com/brantc/116431&#xff0c;如需转载请自行联系原作者1. 确定要建立的卷大小&#xff0c;比如700M 2. 检查要建立逻辑卷的卷组上的PP大小&#xff08;PP:物理分区&#xff0c;PP si…

Pytorch基础(五)—— 池化层

一、概念 池化就是把数据压缩的过程&#xff0c;属于下采样的一种方法&#xff0c;可以显著降低神经网络计算复杂度&#xff0c;减少训练中的过拟合&#xff0c;同时可以使数据具有一定的不变性。 池化从方法上来讲可以分为average Pooling、max Pooling、Overlapping Poolin…

Pytorch基础(六)——激活函数

一、概念 激活函数顾名思义&#xff0c;就是一种可以给神经网络注入灵魂的一种方法&#xff0c;也可以称之为激活层。其计算就是将线性的函数转变为非线性函数的过程&#xff0c;只有这样&#xff0c;我们制作的深层神经网络才能无限逼近真实值。 自神经网络发展到目前为止&am…

【NOIP 模拟题】[T1] 等差数列(dp)

【题解】【dp】 【f[i][j]表示以i为结尾&#xff0c;j为公差的子序列个数】 【要注意有负数&#xff0c;所以将公差1000】 #include<cstdio> #include<cstring> #include<algorithm> using namespace std; int const p9901; int f[1010][2010],n,a[1010]; lo…

走在网页游戏开发的路上(十)

页游资源管理 现在页游的规模越来越来大&#xff0c;游戏内容丰富&#xff0c;资源管理变得很重要。现在一款SNS页游的所有资源可达50M&#xff0c;MMO页游更高达几百M&#xff0c;不可能把资源放到一个文件里面、也不可能一次性加载完所有资源。按200kb/s的下载速度来算&#…

Pytorch基础(七)——线性层(全连接层)

一、概念 在神经网络中&#xff0c;我们通常用线性层来完成两层神经元间的线性变换。 按照官网的解释&#xff0c;Linear.weight也即A&#xff0c; 我们可以称之为权重矩阵&#xff0c;对其转置后乘以输入数据(一般都是一维张量)&#xff0c;加上Linear.bias即b偏置。 二、P…

PureMVC(AS3)剖析:吐槽

PureMVC&#xff08;AS3&#xff09;剖析&#xff1a;吐槽 写在前面 世上没有银弹——不存在适用于所有情况的框架&#xff0c;只有适合的框架。再者任何一个好的东西&#xff08;语言、框架等&#xff09;最终还取决于用的人&#xff0c;语言和框架本身并不能保证用户的代码清…

Pytorch基础(八)——正则化

一、概念 正则化在深度学习领域是为了防止训练结果过拟合而采取的一种方法。 1.1 过拟合 过拟合表示模型的泛化能力较差&#xff0c;体现在实际训练模型上就是在训练集表现很好&#xff0c;但是在测试集的效果一般。 过拟合的原因&#xff1a;1&#xff0c;模型过于复杂。2&…

uva 11997 K Smallest Sums 优先队列处理多路归并问题

题意&#xff1a;K个数组每组K个值&#xff0c;每次从一组中选一个&#xff0c;共K^k种&#xff0c;问前K个小的。 思路&#xff1a;优先队列处理多路归并&#xff0c;每个状态含有K个元素。详见刘汝佳算法指南。 1 #include<iostream>2 #include<cstdio>3 #includ…

泛型方法与桥方法

Java泛型中有存在一种方式叫做类型擦除&#xff0c;也就是说泛型在编译期间进行类型检验上做到有效安全&#xff0c;但是在运行当中&#xff0c;会将该泛型类型用顶层父类&#xff08;若无继承关系则用Object&#xff09;代替&#xff0c;然后再进行强转换成目标类型&#xff0…