iOS 自建企业级应用(In-House)分发平台
教你如何使用自己服务器来使用ios企业开发者账号(In-House)分发你的app应用
最近在研究如何使用自己服务器来分发内测应用。之前一直用的第三方应用分发平台,Pgyer、fim等。想尝试一下自己搭建类似iOS分发机制的服务。
通过下面这张图片你就可以很清楚的知道需要什么资料了
通过点击下一步Xcode会给你生成以下几个文件
注:勾选的是后面你需要的资料
下面来列举一下所需要的资料:
- 一台https服务器
- ipa安装包
- manifest文件
- 5757.png和512512.png,应用桌面icon切图
下面是对以上资料的说明:
- 按照官方的说法需要一台https的服务器,但是我们内部的服务器基本都是通过ip,或是域名的方式,没有去申请https证书,而且免费的证书的需要2、3个月更换一次证书比较麻烦。那怎么办呢,这时我们可以通过GitHub或者OSChina来实现.
- ipa安装包,可以是development、ad-hoc、enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上.
- manifest文件,里面内容包含了下载地址,桌面icon访问地址,应用的基本信息等,格式如下:
<?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://github.com/xxx/raw/ma...;/string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>url</key>
<string>https://github.com/xxx/raw/ma...;/string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>url</key>
<string>https://github.com/xxx/raw/ma...;/string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.xxx.xxx</string>
<key>bundle-version</key>
<string>1.0.0</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>client-mobile</string>
</dict>
</dict>
</array>
</dict>
</plist>
- 5757 和 512512 桌面icon切图,这个就不赘述了,懂ios开发的都到这个尺寸,稍后会将这两个尺寸的图片上传到服务器上
那么哪些需要上传到GitHub上呢?
其实按照严格的做法,需要将以上4个资料都上传到https服务器上, 另外上传的资料必须是可以访问的,那么你在GitHub或者OSChina上的资料也是可以访问的。就需要你创建一个public 的项目,把这些资料通过Git的方式提交上去, 也就意味着任何人都可以看到你的项目,导致了你的ipa和manifest文件也都是别人可以看到的,如果不在意这些,当然无所谓了。
经过测试只需要将manifest文件上传到https服务器即可.
这里就介绍一下只将manifest文件上传到GitHub上吧,其他资料放到本地服务器或者公司的外网服务器都可以,只要是能访问到的就行
- 创建public 项目,
- 通过git clone将项目拉下来
- 将manifest文件放到git工程目录下
- 将本地的manifest提交到git服务器上
- 在git网页上复制manifest访问地址,如下:
本地新建HTML,body如下,样式可以根据自己需求调:
<body>
<div class="container">
<div class="title top-space">AppName</div>
<div>
<img class="icon top-space" src="https://github.com/xxx/raw/ma...; alt="">
</div>
<p class="download_content top-space">
点击安装
</p>
</div>
</body>
其次需要将本地HTML部署到设备通过ip或者域名可以访问的地方.
我是在本地起了一个node.js 的服务,将下载页面部署到本地的.
至此,ios分发机制到这里算完成了,下面附一张下载应用截图
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。