美文网首页
如何像蒲公英一样,用Safari安装测试包,OTA

如何像蒲公英一样,用Safari安装测试包,OTA

作者: 田心甜心 | 来源:发表于2018-06-01 18:07 被阅读160次

前言

项目组刚开始的时候,用的蒲公英发的测试包,但是多账号的蒲公英不方便管理同一个地址的测试包,所以开始尝试自己的制作方法。

利用GitHub搭建

用web安装测试包,必须搭载具有HTTPS协议的服务器,所以想来想去,还是GitHub最方便。

创建仓库

登录你的GitHub,新建一个远程仓库,创建的时候,许可证、readme、忽略文件都不需要,直接开干。建完后拉倒本地,在本地随便找找张图片,在同步到远程,第一步就完成了。

获取GitHub文件地址

打开你的github创建的仓库,点开你的图片。


image.png

然后你会看见一个下载的按钮,点击。


image.png
接着你就会看到一个新的窗口,显示了该张图片(我的是safari,其他浏览器不知道什么效果),找到上方的地址,就会获取到图片所在的资源地址了。
image.png

你复制下来,等会会用到。

打包

当你项目Archive完后,不管你打下面2种的哪种包。

image.png
都会出现这个选项,把他勾选上。
image.png
勾选上的原因是,当你打包完后,会比原来多出来一个manifest.plist文件。然后会跳出来这个窗口
image.png
他会让你填3个URL地址,第一个是测试包的地址,下面2个是图片地址,图片地址不重要,感觉也没什么用。把你上一步得到的地址复制到3个框内,把第一个App URL最后的图片名字改成后缀为.ipa的文件名,名字随便取,后面我们打包完后可以改成相同的名字。
Name那行你也可以改,这个对应的是在你网页安装时,提示你的名字。
在下面就是你正常打包的过程了。

上传测试包

我打的是企业证书的包,把下面2个文件复制到你刚才的仓库里(ipa包和manifest.plist)

image.png

复制完后,记得把你ipa包名字改成上面你修改的名字一致,忘记的同学可以自己看下plist文件,当然,也可以修改plist文件里的名字,只要一致就行。
干完上面的事情后,你就可以提交到远程了,测试包大的话有点慢,耐心等下。

验证成果啦

提交到远程成功后,获取plist文件的URL,还是上面的图片地址,就是把链接最后面的图片名改成plist的文件名,我的是这样的:https://raw.githubusercontent.com/你的GitHub/WebInstall/master/manifest.plist
然后把这个链接嵌入到下面这个链接你就大功告成了:itms-services://?action=download-manifest&url=要嵌入的地址
最后,用iPhone的Safari打开这个链接就成功了。

如果你有web的小伙伴,可以让他写个网页,点击按钮跳转这个链接就可以了。

利用本地服务器安装

上面用的GitHub的服务器,总归是别人的,还不如用蒲公英呢,而且上传ipa包也很慢,所以想弄一个局域网服务器。
只想知道原理的同学,下面可以不用看了,因为这个我是边查资料边弄边写的,不一定能成功。

搭建Apache服务

首先要开启mac自带的Apache服务,这里就不多说了,附上我上篇的文章https://www.jianshu.com/p/b975c1d7c7cc
接下来要给服务器添加SSL证书了

创建证书

打开你的终端,选择一个文件夹,进入里面,用来放证书的,先附上代码

1.生成私钥,命令: sudo openssl genrsa -des3 -out app.key 1024

2.生成签署申请,命令: sudo openssl req -new -key app.key -out app.csr

3.生成服务器的私钥,命令: sudo openssl rsa -in app.key -out server.key

4.生成给网站服务器签署的证书,命令: sudo openssl req -new -x509 -days 3650 -key server.key -out server.crt

操作步骤中的Common Name请填写自己的服务器地址或者ip,需要注意的是Common Name一定要填对

在操作的过程中会遇到输入的地方,这边说下:

  • Enter pass phrase for app.key:输入证书密码
  • Verifying - Enter pass phrase for app.key:确认密码,后面出现密码的时候都输同一个密码就行
  • Country Name (2 letter code) :输入国家名,中国填CN就行
  • State or Province Name (full name) :省名,我填的Shanghai
  • Locality Name (eg, city) :市县名,我还是Shanghai
  • Organization Name (eg, company):公司名,我填的eastmoney ltd
  • Organizational Unit Name:部门名字,我填的choice
  • Common Name (eg, fully qualified host name):这个比较关键,一定要填对,这个写你服务器的名字或者你的ip地址,例如192.168.1.10
  • Email Address:这个填邮箱,我就不示范了
  • A challenge password:还是填上面的密码

上面会有重复的填写,照填就行,当4步都成功后,你会看见4个文件。


image.png

其中server.crt和server.key就是要制作的签名证书。

配置Apache

在编辑之前先说下,最好在编辑文件之前都备份一份
编辑/etc/apache2/httpd.conf文件,去掉下面三行前面的#号

LoadModule ssl_module libexec/apache2/mod_ssl.so
Include /etc/apache2/extra/httpd-ssl.conf
Include /etc/apache2/extra/httpd-vhosts.conf

上面是别人的,可能不一样,我的是这样的:

Include /private/etc/apache2/extra/httpd-ssl.conf
Include /private/etc/apache2/extra/httpd-vhosts.conf

文件路径不一样,在全文搜索的时候复制后半段就行,后面不一样的我就不描述了,贴的代码都是我实际的路径。

编辑/etc/apache2/extra/httpd-ssl.conf文件,去掉下面两行前面的#号

SSLCertificateFile "/private/etc/apache2/server.crt"
SSLCertificateKeyFile "/private/etc/apache2/server.key"

这块描述的是证书的地址,我们把上面创建出来的证书拷贝到这个地址。

编辑/etc/apache2/extra/httpd-vhosts.conf文件,在NameVirtualHost*:80后面添加一段如下内容:

<VirtualHost *:443>
    SSLEngine on
    SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL
    SSLCertificateFile /etc/apache2/server.crt
    SSLCertificateKeyFile /etc/apache2/server.key
    ServerName 10.10.2.123 
    DocumentRoot "/Users/hyf/Sites"
</VirtualHost>

上面的配置按照实际的情况修改
运行sudo apachectl configtest命令,检查配置。
果然踩坑了,出现如下情况

image.png

112的那个问题解决方案是把/etc/apache2/extra/httpd-vhosts.conf文件中2个80的代码全注释了


image.png

526的解决方案是修改/etc/apache2/httpd.conf文件,去掉LoadModule socache_shmcb_module libexec/apache2/mod_socache_shmcb.so的#号;

再次检查配置,发现还有问题。。。


image.png

只需要在apache安装目录/etc/apache2/httpd.conf文件中启用ServerName配置指令即可。

加上:ServerName localhost:80

apache的配置文件httpd.conf中默认是存在类似的指令的,不过在该指令前添加了#号,注释掉了该句,我们只需要模仿着增加一行。

再次检查配置,这次OK了,但是心情很忐忑,感觉已经走远。

测试过后发现,HTTPS好像成功了,但是用web安装还是失败了,显示无法连接。
对了,记得第一次浏览网页时安装证书。

后记

那天下班有点急,后来查了下,失败的原因猜测是自签的SSL证书苹果可能不信任。安装的证书后要记得信任:https://support.apple.com/zh-cn/HT204477,在然后就成功啦
不会安装证书的朋友可以看这篇:https://www.jianshu.com/p/bd016015efe7,是我在找失败原因的时候看到一遍不错的文章,虽然没有解决我的问题。

相关文章

  • 如何像蒲公英一样,用Safari安装测试包,OTA

    前言 项目组刚开始的时候,用的蒲公英发的测试包,但是多账号的蒲公英不方便管理同一个地址的测试包,所以开始尝试自己的...

  • OTA测试

    一.什么是OTA测试? 二.为什么要进行OTA 测试? 三.OTA测试主要测试了哪些参数? 四.小结一、什么是OT...

  • pycharm pip Make sure that you u

    遇到一个pip安装时的问题。 像往常一样,用pycharm新建了一个项目,用pycharm安装依赖包的时候,安装失...

  • Android下制作OTA包及验证

    当我们拿到一份Android源码后,要如何制作OTA升级包(实质上是Recovery升级的ZIP包,OTA升级是基...

  • 三、苹果app审核

    一、苹果打包分为 1、发布AppStore2、打AdHoc测试包安装到某些设备上比如蒲公英打包3、打企业包首先要有...

  • ipa包通过iTunes安装到指定手机

    开发中打测试包是常有的事,我们平时可能进行内部测试可能通过把测试包上传到蒲公英平台,供测试人员下载安装,但有时候我...

  • 应用测试分发 - 蒲公英、TestFlight

    前言 最近又牵扯到了应用测试包的打包问题,为了避免频繁给测试真机安装应用,个人注册了蒲公英。继而简单整理了下 蒲公...

  • 记录iPhone关闭‘日期与时间自动设置’导致的奇葩问题

    背景: 我们使用的https证书是通过Symantec免费版的SSL生成的; 测试包安装方式是通过蒲公英和fir....

  • device ota 升级

    制作ota 包,请参考:ota包的制作 目的是device 获取ota package 能进行升级,本文主要介绍从...

  • 在Linux下安装软件

    Linux下如何安装软件呢? rpm命令 安装:rpm–ivh软件包名.rpm(-I安装软件,-t测试安装,不是真...

网友评论

      本文标题:如何像蒲公英一样,用Safari安装测试包,OTA

      本文链接:https://www.haomeiwen.com/subject/lmccsftx.html