iOS 企业发布

iOS企业发布一般有两种选择

  • 第三方平台(例如:蒲公英fir.im
    • 优点
      • 简单易用:上传完 ipa 包基本上就能用了
      • 功能齐全:像下载量统计、版本控制、还有 Android iOS app 下载链接融合之类的功能一应俱全
    • 缺点
      • 必须跳转到第三方平台的网页才能下载
  • 自建网站
    • 优点
      • 下载页面可定制
    • 缺点
      • 附加功能需开发

这篇文章主要是为记录下自建网站流程

准备必须的文件

  • 57x57、512x512 分辨率的 icon 图片两张
  • ipa 企业包
  • 符合 Apple 规则的 plist

将 icon 和 ipa 包上传到服务器生成可用下载链接,比如:

https://www.example.com/apps/foo.ipa
https://www.example.com/image.57x57.png
https://www.example.com/image.512x512.png

生成 plist 文件,方式有两种:

  • 第一种方法:Xcode 导出 ipa 包的时候生成 plist

  • 第二种方法:用上边生成的url 替换掉本文末的 plist 代码对应的 url
<?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://www.example.com/apps/foo.ipa</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>url</key>
                    <string>https://www.example.com/image.57x57.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>url</key>
                    <string>https://www.example.com/image.512x512.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.organization.xxx</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>App Name</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

生成最终的下载链接

将上面的 plist 文件上传到服务器生成可用下载链接,比如:

https://www.example.com/manifest.plist

将此链接加上前缀 itms-services://?action=download-manifest&url= 即为最终的下载链接:

itms-services://?action=download-manifest&url=https://www.example.com/manifest.plist

此时,用 Safari 打开最终生成的 url 即可进行下载验证。对于网页来说,将此 url 作为跳转链接使用即可。

End~!

Comments