参考博客
还要感谢简书app iOS端开发工程师一语点破我的纠结了好久的问题(所有环境都搭建好之后,一直提示无法连接IP,在iOS10之后要在 设置 - 通用 - 关于本机 - 证书信任设置 里开启对证书的完全信任)。
在此整理记录
- iTunes升级12.7之后无法通过连接电脑的方式安装ipa了,打AdHoc版的ipa没办法交给测试安装,所以用这种OTA的方式安装也不失为一个不错的选择。
- 之所以这么多步骤是因为下载ipa的plist文件需要的是https的链接,多数步骤都是在配置https。
1. 准备
2. 开始搭建https服务器(创建证书)
- 在桌面新建myca文件夹。
- 将下载好的jetty-5.1.10.jar和setup.sh复制到myca文件夹。
- 打开终端用cd命令进入myca文件夹。
cd /Users/Cloud/Desktop/myca
输入ls命令可以看到如下两个文件。
- 在终端输入如下命令之后需要用户依次输入一些信息。
sh setup.sh
只有Organization Name和Common Name两项必填,其它可以直接跳过。
Organization Name需用户随便输入一个关键字,用来与后面生成证书对应,这里我输入abc
Common Name内容为服务器IP地址,这里就是你的电脑IP地址,例如192.168.2.210
密码建议设123456,如设其它请牢记。
回车之后发现又出现于上面步骤一样要输入的信息,将Organization Name和Common Name输入和上面一样的内容,其它跳过。
回车之后会出现如下内容。
输入2次y,再输入4次123456(上面设置的密码)会出现如下内容。
一个keystorefile Path,一个truststorefile path,我们关心的就是这两个路径会在下一步中用到。
3. 使用Eclipse新建两个Dynamic Web Project项目
InstallCer2和DownloadIPA2
- InstallCer2是用来下载证书和ipa的。
- DownloadIPA2是用来放ipa包和plist文件的。
- 项目InstallCer2
- 右键WebContent,新建Folder,起名Certificate,将桌面myca文件夹中的ca.crt拷贝进去,这个是用来下载证书的。
- 右键WebContent,新建html,起名index.html,内容。
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>Insert title here</title>
</head>
<body>
<a class="char" href="/InstallCer2/Certificate/ca.crt">首次安装请点击安装证书</a>
<br>
<br> 注:iOS10 之后需要在“设置” -> “通用” -> “关于本机” -> “证书信任设置”信任相关证书
<br>
<br>
<a class="char"
href="itms-services://?action=download-manifest&url=https://192.168.2.210:8443/DownloadIPA2/Download/test.plist">测试应用3.1.1</a>
</body>
</html>
苹果应用程序不能直接放到服务器进行下载,需要通过itms-services:连接到配置好的plist进行下载,下面会贴出plist的代码。
- 项目DownloadIPA2
- 右键WebContent,新建Folder,起名Download,将要下载的ipa和plist文件拷贝进来。
- plist文件内容。
- 注意:ipa与plist的文件名要相同,例如test.ipa和test.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.2.210:8443/DownloadIPA2/Download/test.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.test.test</string>
<key>bundle-version</key>
<string>3.1.1</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>测试应用3.1.1</string>
</dict>
</dict>
</array>
</dict>
</plist>
4. 将两个项目加入到tomcat的服务器
- 这里有一点需要注意的。
- 要修改DownloadIPA2这个项目的端口,否则会与InstallCer2项目端口冲突无法启动。我这里都在前面加了一个1
5. 配置server.xml
注意:使用eclipse配置tomcat跑项目配置server.xml要在workspace的Servers文件夹里面找到对应的服务器进行配置。
配置DownloadIPA2的server.xml
- 在这行下面插入代码
<!--
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS" />
-->
- 插入如下代码
<Connector SSLEnabled="true" clientAuth="false" keystoreFile="/Users/Cloud/Desktop/myca/server.p12" keystorePass="123456" keystoreType="PKCS12" maxThreads="150" port="8443" protocol="org.apache.coyote.http11.Http11Protocol" scheme="https" secure="true" sslProtocol="TLS" truststoreFile="/Users/Cloud/Desktop/myca/server.jks" truststorePass="123456" truststoreType="JKS"/>
- 此时在服务器的端口位置会多一个8443端口,这就是https链接需要用到的端口。
- 最后将两个项目启动
- 访问:http://192.168.2.210:8080/InstallCer2/index.html
- 先安装证书,iOS10以后要在通用设置信任
- 下载ipa