iOS 通过GitHub或者OSChina自建内测分发

最近在研究如何使用自己服务器来分发内测应用。之前一直用的第三方应用分发平台,Pgyer、fim等。想尝试一下自己搭建类似iOS分发机制的服务。

通过下面这张图片你就可以很清楚的知道需要什么资料了


通过点击下一步Xcode会给你生成以下几个文件


注:勾选的是后面你需要的资料

下面来列举一下所需要的资料:

1. 一台https服务器

2. ipa安装包

3. manifest文件

4. 57*57.png和512*512.png,应用桌面icon切图

下面是对以上资料的说明:

1. 按照官方的说法需要一台https的服务器,但是我们内部的服务器基本都是通过ip,或是域名的方式,没有去申请https证书,而且免费的证书的需要2、3个月更换一次证书比较麻烦。那怎么办呢,这时我们可以通过GitHub或者OSChina来实现.

2. ipa安装包,可以是development、ad-hoc、enterprise任何一种打包方式,导出的ipa, 稍后会将安装包上传到服务器上.

3. 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/master/client-mobile.ipa</string>
				</dict>
				<dict>
					<key>kind</key>
					<string>display-image</string>
					<key>url</key>
					<string>https://github.com/xxx/raw/master/image.57x57.png</string>
				</dict>
				<dict>
					<key>kind</key>
					<string>full-size-image</string>
					<key>url</key>
					<string>https://github.com/xxx/raw/master/image.512x512.png</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>

4. 57*57 和 512*512 桌面icon切图,这个就不赘述了,懂ios开发的都到这个尺寸,稍后会将这两个尺寸的图片上传到服务器上

那么哪些需要上传到GitHub上呢?

其实按照严格的做法,需要将以上4个资料都上传到https服务器上, 另外上传的资料必须是可以访问的,那么你在GitHub或者OSChina上的资料也是可以访问的。就需要你创建一个public 的项目,把这些资料通过Git的方式提交上去, 也就意味着任何人都可以看到你的项目,导致了你的ipa和manifest文件也都是别人可以看到的,如果不在意这些,当然无所谓了。

经过测试只需要将manifest文件上传到https服务器即可.

这里就介绍一下只将manifest文件上传到GitHub上吧,其他资料放到本地服务器或者公司的外网服务器都可以,只要是能访问到的就行

1. 创建public 项目,

2. 通过git clone将项目拉下来

3. 将manifest文件放到git工程目录下

4. 将本地的manifest提交到git服务器上

5. 在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/master/image.57x57.png" alt="">
        </div>
        <p class="download_content top-space">
            <a class="download_btn" href="itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/xxx/master/trip/manifest.plist">点击安装</a>
        </p>
    </div>
</body>

其次需要将本地HTML部署到设备通过ip或者域名可以访问的地方.

我是在本地起了一个node.js 的服务,将下载页面部署到本地的.

至此,ios分发机制到这里算完成了,下面附一张下载应用截图




猜你喜欢

转载自blog.csdn.net/a411360945/article/details/80026546
ios