1 打包的时候选择 OTA 会自动生成.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>http://172.17.22.124/test.ipa</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.sunli.test</string>
<key>bundle-version</key>
<string>1.1.0</string>
<key>kind</key>
<string>software</string>
<key>releaseNotes</key>
<string>1.1版本发布</string>
<key>title</key>
<string>testDemo</string>
</dict>
</dict>
</array>
</dict>
</plist>
2 启动 apache 服务,配置 Https
Mac OS X 自带了 Apache 服务,我们只需要启动它就可以了
在终端中输入
sudo apachectl start
然后在浏览器中尝试输入 http://127.0.0.1 , 如果出现 It Works!那么就是启动成功
站点的默认目录是 /Library/WebServer/Documents/
3 创建一个如下内容的index.html文件:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http:// www.w3.org/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.3.112/manifest.plist">点击安装</a>
<h1/>
<a title="iPhone" href="http://192.168.3.112/192.168.3.112.crt">ssl 证书安装</a>
<h1/>
</body>
</html>
其中,https://192.168.3.112/manifest.plist指向打包生成的plist文件,http://192.168.3.112/192.168.3.112.crt指向服务器中的CA证书,也就是上述生成crt证书,因此,需要将上述生成的crt证书copy到web服务器目录下。
总结实现原理
OTA方式安装,是通过Safari解析链接中的"itms-services://"来实现的。
例如:
<a title="iPhone" href="itms-services://?action=download-manifest&url=https://192.168.10.193/installIPA.plist"> Iphone Download</a>
Safari会去读取installIPA.plist中的信息,如:iOS应用的名称、版本、安装地址等。
参考 https://www.jianshu.com/p/35ca63ec0d8e
网友评论