起因
2020年新春,本是阖家欢乐,走亲访友的好时节。没想到一场疫情改变了所有计划,本人刚好又处于风暴的中心湖北,按时返京是不太可能了,于是只得开启漫长的在家办公的旅程。回家时带了个mbp,没有带TypeC的装接头,没有办法真机调试,而我们的项目又不能在模拟器上运行,这样的工作环境想想就头大。只能是硬着头皮使用打包上传fir的方式进行开发和调试,但是村里的网络也不太给力,可能一次打包上传再到安装在真机上需要一个多小时,效率实在太低,于是开始思考有啥办法可能提高现在的效率,也就有了下面的实践经历。
经过
安装nginx
我是使用的nginx来搭建的https服务,因为之前也用它搭过rtmp服务,使用起来会比较顺手吧。推荐使用homebrew来安装。
安装完后使用一下命令来进行nginx的相关操作:
|
|
开启nginx成功后,在Safari里面输入http://127.0.0.1 应该就能正常访问到nginx自带的一个html了,接下来是支持https。
安装openssl
生成证书时需要使用openssl服务。同上,使用homebrew安装。
生成证书
推荐使用下面的脚本来生成:
|
|
每一句的具体作用参考上面的注释,这里的172.20.10.9是我电脑的内网IP,用来做证书名方便识别,在生成证书时,会需要输入密码和一些企业信息,其他的信息都可以随意(密码需要一致),重点:有一个Common Name字段信息需要和你服务器地址(我这里也就是我的内网IP)保持一致,因为在下载ipa进行证书校验时需要校验这两个是否一致,如果不一致会报:无法连接到“xxx”的错误
下面是openssl生成几个文件
配置nginx.conf
nginx.conf目录地址:
|
|
具体配置项参考如下:
|
|
需要注意一下,上面的
|
|
就是你之前使用openssl生成的证书和私钥。这个要保持一致,而且最好放在同一个目录下。
新建下载页html,配置plist,复制ipa文件和crt文件到指定目录。
上面配置的location就是你的网页资源所有在的目录:
|
|
这里我是在nginx目录下新建了一个doki(名字无要求)目录。可以参考一下我的目录结构:
然后我们分别来看一下这几个文件的格式:
html:
|
|
plist:
|
|
把上面的IP地址和bundle-identifier做相应的替换即可。
成果
reload一下nginx,然后在手机Safari上输入https://172.20.10.9 这个时候可能会提示网站安全,选择查看网站内容,出现下面的界面,说明环境搭建成功。
先安装ssl证书,记得在设置中信任证书(有两处地方需要信任),然后点击安装即可。
结尾
通过搭建本地服务,省去了上传fir的操作,局域网下载ipa速度也比从fir上下载快很多,之前重新安装一个包需要1个多小时的,现在只要十分钟不到就搞定了,所以,遇到问题还是应该多思考,争取能找到更好的解决方案。
后续
原来可以直接把IPA文件通过AirDrop的方式安装到手机上,以上的步骤都可以省略了。不过也是一次好的学习经验。
参考文档:
https://www.jianshu.com/p/75f01a638a07
https://blog.csdn.net/shuaihj/article/details/49999529