0%

【iOS 开发】企业开发者账号打包发布 App 到服务器上的流程

苹果 企业开发者账号 一年 $299 ,用这种账号开发的 App 不能上架到 AppStore 上面,只能分发到自己的服务器上,然后自行下载安装 App。这种类型的账号没有设备数量的限制,也不用苹果审核 App ,所以需要 快速迭代 或者 订制化App 就可以选择这种类型的账号进行开发。下面分享一下如何用 企业开发者账号 打包发布 App 到服务器上。


说明: 下面只讲怎么用 企业开发者账号 打包发布到服务器,至于 企业开发者账号 的申请就自行 百度CertificatesProvisioning Profile 创建时记得选择 In House 就行,其他没什么区别,这里也不多说了。

企业开发者账号打包发布 App 到服务器上的流程

1. App 打包

  • Xcode 选择 Product - Archive 进行 App 打包。

Archive

  • 选择 Export 导出 ipa 安装包。

Export

  • 选择 Save for Enterprise Deployment 进行打包。

Save for Enterprise Deployment

  • 这里要勾选下图这一栏 Include manifest for over-the-air installation. ,勾选以后会生成一个 manifest.plist 的文件,之后发布会用到。

manifest

  • 打包完成后得到两个文件 ipaplist

打包文件

2. 制作 App 安装图标

  • 这里需要两个不同尺寸的图标文件,尺寸分别是 57 * 57512 * 512 ,这个是在安装时显示安装进度时的图标,安装完成后显示的还是 App 本身的图标。

图标

3. 将安装包和图片上传至服务器

  • ipa 安装包 以及 图标 文件上传至自己的服务器。

上传文件

4. 修改 manifest.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>ipa包URL(必填)</string>
</dict>
<dict>
<key>kind</key>
<string>full-size-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下载时大图(非必填)</string>
</dict>
<dict>
<key>kind</key>
<string>display-image</string>
<key>needs-shine</key>
<false/>
<key>url</key>
<string>下载时小图(非必填)</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>subtitle</key>
<string>副标题(非必填)</string>
<key>title</key>
<string>应用名(必填)</string>
</dict>
</dict>
</array>
</dict>
</plist>
  • 下面三处分别填写对应服务器上文件地址,且服务器必须支持 HTTPS 协议。

manifest.plist

  • 上面是同一个文件,都是 manifest.plist ,一个是源码,一个是用 Xcode 打开的,用哪种方法编辑都可以。

4. 将 plist 文件上传至服务器

  • plist 文件可以不用和 ipa 安装包 以及 图标 文件放在一起,只要 plist 文件中的地址指向是正确的就行,并且存放 plist 的服务器必须支持 HTTPS 协议。

plist 文件

  • 如果暂时没有支持 Https 的协议的服务器,可以使用 GitHub 来测试一下:新建一个 GitHub 仓库,将 plist 文件传上去,点开 plist 文件 选择 Raw

Raw

  • 地址栏的地址就是你 plist 文件的地址,如果你是上传到自己服务器的话,就用自己服务器的地址,我的地址如下:
https://raw.githubusercontent.com/karise-guo/TestRelease/master/mainfest.plist

5. 手机安装 App

  • 打开手机上的 Safari 浏览器,输入以下网址即可安装 App
itms-services://?action=download-manifest&url=https://raw.githubusercontent.com/karise-guo/TestRelease/master/mainfest.plist
  • 前面一段地址是固定的,url= 后面为你的 plist 文件所在的地址,并且网址必须由手机自带的 Safari 浏览器打开才能安装。

  • 如果输入网址后没有显示安装 App ,那一定是你 plist 文件里面的 ipa 安装包 地址指向有问题或者是你的服务器没有支持 HTTPS 协议。

  • 下载安装后,如果想打开 App 还需要在手机 设置 - 通用 - 描述文件与设备管理 (不同系统可能名字不一样) 里面选择相应的 证书 ,点击 信任 后即可打开 App

步骤大概就是这样,其原理是手机自带的 Safari 会根据上面那个地址来解析服务器上的 plist 文件,然后再根据 plist 文件中的 ipa 安装包地址以及 图标 地址来下载相应的内容。