配置iOS应用的网页安装
由于iOS的封闭性,其应用安装诸多限制,一般用户的应用安装渠道只有App Store,PP助手这类应用算是曲线救国。
官方点的渠道除了App Store,还有TestFlight这个官方内测渠道,也十分方便,到iTunes Connect上面添加内测用户的Apple id,用户到App Store下载TestFlight,当有应用参与内测时,用户会收到邮件,把邮件的的内测码复制粘贴到TestFlight应用内下载即可。
除此之外,剩下还有自签名后发布让用户下载的方法。如果是688元的证书,签名的描述文件需要先到苹果开发者中心添加用户设备UDID,限制100台设备,如果是2000大洋的企业证书就签名发布可以了,无设备数量限制。
下面就来说说688元的证书怎么愉快地玩耍
获取用户 UDID
首先要获取用户的 UDID,虽说在xcode上装一遍应用就算添加上了,但如果有几十台排着队装就不爽了。
大概的流程是让用户用iPhone 的Safari 访问一个描述文件(device.mobileconfig),然后就会跳转去安装证书,安装完会根据描述文件的回传地址把UDID和一些设备信息传给服务器。
这里找到一个15年的PHP实现,挺简洁的
https://github.com/hunk/get-UDID
简单说说怎么改,其实很简单,我压根不懂PHP都改好了
先改一下默认页面
1 |
|
这样中文就不会乱码,下面的一些标签内容想怎么搞怎么搞
device.mobileconfig 配置与签名
配置
把里面device.mobileconfig模板里的
1 | <key>URL</key> |
URL这个key的值改成自己的服务器
签名
这个描述文件如果不签名的话也是能用的,只是会安装描述文件的时候有些红字警告。
给描述文件签名这事如果一步步刀耕火种的话能扯几百字,这里还是给出一个Python脚本。
github仓库地址 https://github.com/nmcspadden/ProfileSigner
- 先列出能用的签名证书
1 | security find-identity -v -p codesigning |
大概像这样子
1 | "iPhone Developer: xxxxxxxxxx (QXXBXX3XWP)" |
- 用脚本签名
1 | ./profile_signer.py -n "iPhone Developer: xxxxxxxxxx (QXXBXX3XWP)" sign device.mobileconfig devicesigned.mobileconfig |
一目了然
配置show_detail.php
用户安装完描述文件,iOS 向服务器发送了一些UDID信息,如果能实现自动化,到这一步就可以了,但一般都是没有的,为什么?说到底这玩意是给688证书玩的,大方点的公司都直接买企业证书了,才2000大洋,搞一个UDID的收集模块的人力成本可能都不止2000大洋。
在开源项目里,收到这些用户信息后,经过processes_data.php 处理,会由show_detail.php输出返回,返回的页面除了UDID一些信息外,还有一个发送邮件的按钮,把邮件地址配置成自己的即可。
经过以上配置,就可以把项目上传有PHP环境的服务器上,部署?PHP上传即部署,还需要配置一下Nginx或Apache,这都很简单,就不赘述了
弄一个安装页面
配置一个plist文件
以下面为模板,照着改就是了
1 |
|
默认页面如下
主要把a标签的链接内容改一下
1 |
|
把以上两个文件和打包好的ipa放到服务器即可,但这plist文件的访问必须要https,ipa没试,不确定要不要https。要么把plist和ipa放到一些云盘然后拿到分享链接,一般都是https的,要么申请一个免费的let’s encrypt证书,有脚本,也是很方便。