美文网首页
iOS App苹果企业签分发 教程

iOS App苹果企业签分发 教程

作者: MrLimLee | 来源:发表于2020-04-03 09:23 被阅读0次

配置

  1. 必须有SSL证书(HTTPS)

    企业签分发的 plist、icon、ipa 等文件下载链接必须是https协议的,例如:https://html.主域名.com/company_ios/propertylist.plist

  2. 配置MIME

    如果是Nginx,在 nginx/conf/mime.types 配置文件里面添加如下配置

    说明:

    • application/octet-stream表示.ipa后缀的文件是下载类型
    • text/xml表示.plist后缀的文件是xml类型
application/octet-stream    ipa
text/xml    plist
  1. 苹果端安装协议
itms-services:///?action=download-manifest&url=https://html.主域名.com/company_ios/propertylist.plist

使用

// 能触发这个地址就好
window.location = "itms-services:///?action=download-manifest&url=https://html.主域名.com/company_ios/propertylist.plist" 

注意

  1. 自己签名的SSL证书是不行的
  2. plist 文件中有中文会有问题,需要另存为utf-8格式保存即可
  3. plist 文件下载路径问题,下载路径不要操作三级,否者会报“无法连接到...”、“此时无法下载...”、“证书有问题...”等
  4. 安装协议 itms-services: 后面是三个"/",当然,我测试了两个,也是可以的
  5. 客户端对 plist 文件是有缓存的,如果安装不成功,可以修改下 plist 文件名称重新试下
  6. 安装过程中图片无法显示问题,这个在plist文件里面已经设置了图片地址,但是就是不显示

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://www.主域名.com/包.ipa</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>full-size-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>http://www.主域名.com/icon-512.png</string>
                </dict>
                <dict>
                    <key>kind</key>
                    <string>display-image</string>
                    <key>needs-shine</key>
                    <true/>
                    <key>url</key>
                    <string>http://www.主域名.com/icon-57.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.主域名.bundleId</string>
                <key>bundle-version</key>
                <string>2.0.0</string>
                <key>kind</key>
                <string>software</string>
                <key>subtitle</key>
                <string></string>
                <key>title</key>
                <string>App名称</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

关于跳转设置信任的逻辑

  • iOS 9 版本之前可以直接: prefs:root=General&path=ManagedConfigurationList

  • iOS 10 系统之后不能直接跳转了,但是可以:https://www.主域名.com/企业签文件.mobileprovision

  • JS Demo

    if(agent.indexOf("like mac os x") > 0) {
 
        var ver=agent.match(/cpu iphone os (.*?) like mac os/);
        ver = ver[1].replace(/_/g,".")
        ver = ver.split('.')[0]
 
        var url = "prefs:root=General&path=ManagedConfigurationList";
        if (agent.indexOf('ipad') > 0 || ver > 9) {
            if (agent.indexOf('browser') < 0) {
                //证书替换
                url   = "https://www.主域名.com/embedded.mobileprovision";
            }
        }
        request(url);
}

相关文章

网友评论

      本文标题:iOS App苹果企业签分发 教程

      本文链接:https://www.haomeiwen.com/subject/piffphtx.html