自己搭建ios测试包下载服务器

2020-06-13  本文已影响0人  抹不掉那伤1

以前在小公司里自己一个人单打独斗地开发完项目,就要交给别人来测试然后就拿来N个设备一个一个的插在电脑上然后build,浪费了大量的时间。自从到了一家上些规模的公司发现他们在一台电脑上通过一行命令就能把程序打包并上穿到某个服务器上,测试人员只需要打开某个网页并点击安装就可以了,大大的提高了效率。
看到这这样的技术立刻有想弄明白怎么实现的冲动,本以为这东西得西药会很多复杂的只是才能懂。可是慢慢的通过若干个“不经意”的积累,凭着自己现有的知识储备和硬件设备也能高出来个差不多的,说动手就动手。

问题1需要个下载需要的网页

由于是简版的,所以只需要一个a标签就可以了,于是就问度娘“网页基本结构”再加上a标签就有了下面的代码。

<html>
<head>
<title>标题<title>
</head>
<body>
<a href=url">下载内容</a>
</body>
</html>

把这个段代码写在一个文本文件里随便命个名,然后后缀名改为.html就有了一个下载网页了。

问题2、上面网页中a标签中的URL应该用什么来替换

也就是点击网页中的链接要下载什么。

第一反应是.ipa的链接。以前做过类似的实验里放了一个安装包.ipa的链接,实验的结果是不成功,后面也不知道怎么做就搁置了下来。最近想到了办法。搜索关键字“iOS企业证书分发”,的到了a标签因该是这样的。

<a href="itms-services://?action=download-manifest&url=https://mydomain.com/apps/MyInHouseApp.plist" id="text">下载内容</a>

上面的代码中有url=后面接一个链接,这个链接是一个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.0.100/appDown/app0.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>bundleId</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>appName</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

plist文件中有几个地方要根据自己的app更改。其它的都好弄,就是ipa的链接怎么办,那么这也引出第三个问题。

ipa哪里来

我们用Xcode把手机插在电脑上可以直接debug把app直接装在电脑上,说明Xcode已经生成了安装包。它就在工程中的Products文件夹里打开那个文件夹会看见它,它的后缀名为.app,后缀名可能隐藏。当然这并不是我们所需要的ipa。还需见到的操作。如下:

1、创建一个名为Payload的文件夹。
2、将缀名为.app的文件当道Payload里。
3、将Payload文件夹压缩生成zip文件。
4、把zip文件的后缀名改成.ipa。
5、大功告成庆贺一下。

所需要的各个文件都有了,下面的问题是我们得把他们放到服务器里面才行。我的方案是用自己的mac电脑来当作服务器。

搭建web服务器

搜索关键字mac apache就能搜索出很多文章,在这里我推荐一篇传送门

搭建完服务器,后把上面的3个文件放到对应的目录下就能通过链接访问他们了,然后把文件中需要替换成其它文件链接的地方替换掉就大功告成了!
来让我么把手机和电脑连接到同一个网络下输入上面.html的访问链接试下吧!
第一步貌似没什么问题网页加载出来了。
第二部点击网页上的链接,咦有反应,仔细看看。what证书无效?什么鬼!

曾经我卡到这里一度想要放弃,可是想要成功的欲望还是成就了我!

开始以为是ipa签名的证书的问题。后来就换了一个我们公司好用的ipa文件试了试,还是不行。我就仔细对比我们公司下载ipa的网页和我的有什么不同。功夫不负有心人,我猛的发现我们公司用的链接都是https的!

知道问题在哪里就有了努力的方向了,好来想着怎么让我的服务器支持https,后来找到这篇文章。我只按这篇文章的前部分做了配置就成功了。

搬砖不易点个赞呗!
完!
有什么问题或建议可以私信我呦

上一篇 下一篇

猜你喜欢

热点阅读