您的位置:首页 > 移动开发 > IOS开发

局域网搭建IOS应用在线安装环境

2016-01-10 14:19 330 查看
前言

一般公司在开发IOS的APP,发布测试版本,这是一个很繁琐的过程,对于一般的公司基本上就是把测试机加入开发列表中,然后打包APP,发布到网盘,或者发到QQ上,供测试人员下载安装测试。这绝对是一个崩溃的过程。

解决方案

RT. 搭建IOS应用的在线安装环境,等环境搭建好,把发布位置告知APP开发人员,IOSAPP开发人员可以通过命令行打包APP,并且使用scp 命令 上传安装包。然后通知测试人员使用Safari浏览器打开地址,在线安装就可以了,很大程度的减少了无效工作量,并且非常方便。

好了,接下来开始:

环境: centos 7 httpd openssl https

1.安装httpd 和mod_ssl
yum install -y openssl    #使用openssl可手动创建证书
yum install -y httpd
yum install -y mod_ssl
#防火墙打开80、443端口,然后重启
firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=443/tcp --permanent
firewall-cmd --reload
#Apache开启
systemctl enable httpd
systemctl start httpd


2.开启HTTPS服务

因为iOS7.1以后,Apple不再支持HTTP方式的OTA,所以我们需要为Apache开启HTTPS。

OpenSSL自制证书

开启HTTPS的第一步,就是需要先生成ssl证书。

生成服务器的私钥
mkdir /etc/httpd/ssl cd /etc/httpd/ssl sudo openssl genrsa -out server.key 1024

生成签署申请(Common Name必须为服务器的ip或域名)
sudo openssl req -new -key server.key -out server.csr

生成CA私钥
sudo openssl genrsa -out ca.key 1024

用CA的私钥产生CA的自签署证书
sudo openssl req -new -x509 -days 36500 -key ca.key -out ca.crt

创建demoCA
demoCA里面创建文件index.txt和serial,serial内容为01,index.txt为空,以及文件夹newcerts
sudo openssl ca -in server.csr -out server.crt -cert ca.crt -keyfile ca.key

#这个地方的意思是在/etc/pki/CA 中创建这些文件和文件夹
这样在/etc/httpd/ssl中看到这些文件
[root@localhost ssl]# ls
ca.crt  ca.key  server.crt  server.csr  server.key


3.配置http.conf、ssl.conf和mime.types 配置文件
在改之前需要备份一下http.conf ssl.conf mime.types

sudo cp /etc/httpd/conf/httpd.conf /etc/httpd/conf/httpd.conf.origin
sudo cp  /etc/httpd/conf.d/ssl.conf /etc/httpd/conf.d/ssl.conf.origin
sudo cp /etc/mime.types /etc/mime.types.origin

ssl.conf
DocumentRoot "/var/www/html"
ServerName 192.168.1.101

SSLCertificateFile /etc/httpd/ssl/server.crt
SSLCertificateKeyFile /etc/httpd/ssl/server.key

http.conf
DocumentRoot "/var/www/html"

#
# Relax access to content within /var/www.
#
<Directory "/var/www">
AllowOverride None
# Allow open access:
Require all granted
</Directory>

# Further relax access to the default document root:
<Directory "/var/www/html">
#
# Possible values for the Options directive are "None", "All",
# or any combination of:
#   Indexes Includes FollowSymLinks SymLinksifOwnerMatch ExecCGI MultiViews
#
# Note that "MultiViews" must be named *explicitly* --- "Options All"
# doesn't give it to you.
#
# The Options directive is both complicated and important.  Please see
# http://httpd.apache.org/docs/2.4/mod/core.html#options # for more information.
#
Options Indexes FollowSymLinks MultiViews

#
# AllowOverride controls what directives may be placed in .htaccess files.
# It can be "All", "None", or any combination of the keywords:
#   Options FileInfo AuthConfig Limit
#
AllowOverride None

#
# Controls who can get stuff from this server.
#
Require all granted
</Directory>

mime.type
text/xml                                        xml xsd rng plist
application/octet-stream                bin lha lzh exe class so dll img iso ipa


4.配置installIPA.plist和 index.html
installIPA.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>https://192.168.1.101/test.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.jeiao.test</string>
<key>bundle-version</key>
<string>1.0</string>
<key>kind</key>
<string>software</string>
<key>releaseNotes</key>
<string>v1</string>
<key>title</key>
<string>testapp</string>
</dict>
</dict>
</array>
</dict>
</plist>

[root@localhost html]# more index.html
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.or
g/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>应用名字</title>
</head>
<body>
<h1 style="font-size:40pt">iOS应用OTA安装<h1/>
<h1 style="font-size:40pt">
<a title="iPhone" href="itms-services://?action=download-manifest&url=https://192.168.1.101/installIPA.plist">Iphone Download</a>
<h1/>
<a title="iPhone" href="http://192.168.1.101/ca.crt">ssl 证书安装</a>
<h1/>
</body>
</html>


5.然后ca.crt  index.html  installIPA.plist  test.ipa 都放在发布目录

这样访问<span style="color:#ff6666;">https://192.168.1.101:443</span>就可以看到了


这样小伙伴们就可以愉快的玩耍了。

参考:
http://www.jianshu.com/p/35ca63ec0d8e http://www.bkjia.com/xtzh/1004181.html?qqdrsign=03cf6
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: