DCloud_uni-ad_HDX
DCloud_uni-ad_HDX
  • 发布:2021-02-25 15:26
  • 更新:2021-02-25 15:26
  • 阅读:1406

基于uniCloud/静态托管实现苹果IEP证书类型的ipa下载安装服务

分类:uni-app
iep

uniCloud 是 DCloud 联合阿里云、腾讯云,为开发者提供的基于 serverless 模式和 js 编程的云开发平台。

uniCloud 的 web控制台地址:https://unicloud.dcloud.net.cn

Apple Developer Enterprise Program 可让大型组织开发内部专属的 app 并向其员工部署。此计划仅适用于需要使用安全的内部系统或经由移动设备管理解决方案,向员工私密地直接分发的特例情况。详情:https://developer.apple.com/cn/programs/enterprise/

IEP(iOS Developer Enterprise Program),已统一为 Apple Developer Enterprise Program

步骤如下

第1步

开通uniCloud,详情 https://unicloud.dcloud.net.cn/

第2步

在 uniCloud web控制台左侧栏 "前端网页托管" 上传5个文件,目录结构如下

根目录 >  
| app_name_v3.0.0.ipa  
| manifest.plist  
| index.html  
| icon_58.png  
| icon_512.png

文件目录介绍

app_name_v3.0.0.ipa 是使用`IEP`证书的应用安装包  
manifest.plist 是应用的描述文件  
index.html 是用户安装应用页面  
icon_58.png 是应用显示的图标,分辨率 58x58,名字可自定义  
icon_512.png 是应用的最大图标,分辨率 512x512,名字可自定义

manifest.plist 配置

  1. 新建文件 manifest.plist 文件并粘贴下面新闻模板的 manifest.plist 配置,.plist 是扩展名
  2. 替换 manifest.plist 文件内容为你的应用信息
    • 在 manifest.plist 搜索应用名称 新闻模板
    • 在 manifest.plist 搜索应用下载地址 https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa
    • 在 manifest.plist 搜索icon_58.png图标 https://static-xxxx.bspapp.com/download/icon_58.png
    • 在 manifest.plist 搜索icon_512.png图标 https://static-xxxx.bspapp.com/download/icon_512.png

注意:

  • https://static-xxxx.bspapp.com/ 是前端网页托管的默认域名,腾讯和阿里的不同,可绑定自己的域名
  • manifest.plist 可配置不同设备的.ipa,例如 iPad, iPhone,示例中共用了一个.ipa
  • 安装包是有有效期的,过期后需要更新证书重新打包

新闻模板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>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>display-image</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/icon_58.png</string>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>full-size-image</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/icon_512.png</string>  
                </dict>  
            </array>  
            <key>metadata</key>  
            <dict>  
                <key>bundle-identifier</key>  
                <string>io.dcloud.new.template</string>  
                <key>bundle-version</key>  
                <string>2.4.3</string>  
                <key>kind</key>  
                <string>software</string>  
                <key>title</key>  
                <string>新闻模板</string>  
            </dict>  
            <key>thinned-assets</key>  
            <array>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone6,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone9,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone9,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone6,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone7,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone8,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone8,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPod7,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                    </array>  
                    <key>variantIds</key>  
                    <array/>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone8,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone11,6</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone11,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone9,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,5</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone11,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,6</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone9,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone10,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                    </array>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPhone11,6</string>  
                        <string>iPhone11,2</string>  
                        <string>iPhone11,4</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad5,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,5</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,6</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,7</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,9</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,5</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad5,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,6</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,6</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad5,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,7</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,3</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,7</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,8</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,12</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,8</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad5,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,11</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,5</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,1</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad7,4</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad8,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad6,8</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                        <dict>  
                            <key>device</key>  
                            <string>iPad4,2</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                    </array>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPad8,1</string>  
                        <string>iPad8,8</string>  
                        <string>iPad8,7</string>  
                        <string>iPad8,6</string>  
                        <string>iPad8,5</string>  
                        <string>iPad8,4</string>  
                        <string>iPad8,3</string>  
                        <string>iPad8,2</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPad3,6</string>  
                        <string>iPad3,4</string>  
                        <string>iPad3,2</string>  
                        <string>iPad3,5</string>  
                        <string>iPad3,3</string>  
                        <string>iPad3,1</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array>  
                        <dict>  
                            <key>device</key>  
                            <string>iPhone11,8</string>  
                            <key>os-version</key>  
                            <string>12</string>  
                        </dict>  
                    </array>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPhone11,8</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPhone10,2</string>  
                        <string>iPhone7,1</string>  
                        <string>iPhone10,6</string>  
                        <string>iPhone10,5</string>  
                        <string>iPhone8,2</string>  
                        <string>iPhone9,4</string>  
                        <string>iPhone10,3</string>  
                        <string>iPhone9,2</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPhone5,2</string>  
                        <string>iPod5,1</string>  
                        <string>iPhone5,3</string>  
                        <string>iPhone4,1</string>  
                        <string>iPhone5,1</string>  
                        <string>iPhone5,4</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPad7,4</string>  
                        <string>iPad4,5</string>  
                        <string>iPad7,5</string>  
                        <string>iPad4,6</string>  
                        <string>iPad6,3</string>  
                        <string>iPad5,1</string>  
                        <string>iPad6,11</string>  
                        <string>iPad7,6</string>  
                        <string>iPad5,2</string>  
                        <string>iPad6,4</string>  
                        <string>iPad4,7</string>  
                        <string>iPad5,3</string>  
                        <string>iPad4,1</string>  
                        <string>iPad4,8</string>  
                        <string>iPad6,12</string>  
                        <string>iPad7,1</string>  
                        <string>iPad5,4</string>  
                        <string>iPad4,9</string>  
                        <string>iPad4,2</string>  
                        <string>iPad7,2</string>  
                        <string>iPad4,3</string>  
                        <string>iPad6,7</string>  
                        <string>iPad7,3</string>  
                        <string>iPad4,4</string>  
                        <string>iPad6,8</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPhone10,1</string>  
                        <string>iPhone8,1</string>  
                        <string>iPhone9,3</string>  
                        <string>iPhone6,2</string>  
                        <string>iPhone9,1</string>  
                        <string>iPhone7,2</string>  
                        <string>iPod7,1</string>  
                        <string>iPhone10,4</string>  
                        <string>iPhone8,4</string>  
                        <string>iPhone6,1</string>  
                    </array>  
                </dict>  
                <dict>  
                    <key>kind</key>  
                    <string>software-package</string>  
                    <key>url</key>  
                    <string>https://static-xxxx.bspapp.com/download/hello_news_v3.0.0.ipa</string>  
                    <key>variantDescriptors</key>  
                    <array/>  
                    <key>variantIds</key>  
                    <array>  
                        <string>iPad2,3</string>  
                        <string>iPad2,2</string>  
                        <string>iPad2,1</string>  
                        <string>iPad2,7</string>  
                        <string>iPad2,6</string>  
                        <string>iPad2,5</string>  
                        <string>iPad2,4</string>  
                    </array>  
                </dict>  
            </array>  
        </dict>  
    </array>  
</dict>  
</plist>

第3步

index.html 内容

需要替换 a 标签的 href 属性,用户点击 a 标签后将弹出下载确认框

<!DOCTYPE html>  
<html>  
<head>  
    <meta charset="utf-8">  
    <title>hello news</title>  
    <meta name="author" content="dcloud">  
    <meta name="description" content="hello news">  
    <meta name="keywords" content="hello news,dcloud">  
    <meta name="viewport" content="width=device-width,user-scalable=no">  
</head>  
<body>  
    <!-- https://static-xxx.bspapp.com/download/manifest.plist 替换为你的前端网页托管中的 manifest.plist 文件目录  -->  
    <a href="itms-services://?action=download-manifest&amp;url=https://static-xxx.bspapp.com/download/manifest.plist">下载 iOS hello news</a>  
</body>  
</html>

第4步

使用手机浏览器访问你的前端网页托管地址,示例: https://static-xxx.bspapp.com/

0 关注 分享

要回复文章请先登录注册