zoukankan      html  css  js  c++  java
  • H5实现苹果手机绕过AppStore安装内部或测试app

    主要流程

    1. 苹果app必须签名成功;
    2. 上传到服务器,获得信息和下载地址,得到两个文件,一个是plist文件和ipa文件,及app图标;
    3. 通过访问plist文件来达到下载ipa文件和图片的目的,使用了苹果safari浏览器自带协议,用a标签或者window.open方式打开plist地址;
    itms-services:///?action=download-manifest&url=一个https地址
    
    1. 信任设备并安装。

    下面是几个过程的具体实现

    具体实现


    上传资源到服务器

    公司文件可部署到公司服务器,自己测试文件可以使用github等免费提供文件地址的服务

    • ipa:需要安装的苹果app打包文件,由iOS客户端提供;
    • logo:图片格式的app图标;
    • plist:app下载配置文件。

    由客户端生成plist文件

    app.plist:由客户端配置或更改下面ipa下载地址、app图标地址及app描述信息。

    <?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://ipa 下载地址</string>
            </dict>
            <dict>
              <key>kind</key>
              <string>display-image</string>
              <key>needs-shine</key>
              <true/>
              <key>url</key>
              <string>https://app 图标地址</string>
            </dict>
          </array>
          <key>metadata</key>
          <dict>
            <key>bundle-identifier</key>
            <string>com.xxxx.xxxx.xxxx</string>
            <key>bundle-version</key>
            <string>0.1.0</string>
            <key>kind</key>
            <string>software</string>
            <key>title</key>
            <string>APP名称</string>
            <key>subtitle</key>
            <string>App描述</string>
          </dict>
        </dict>
      </array>
    </dict>
    </plist>
    

    下载页面

    Install.html:提供给用户的下载H5页面,具体样式和功能可根据自己的需求调整。

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
    </head>
    <body>
      <button id="button">下载</button>
      <script>
        document.getElementById('button').addEventListener('click', function() {
          window.open('itms-services:///?action=download-manifest&url=https://pan.xchjw.cn/download/app/CorpPrivateInstall.plist', '_self')
        })
      </script>
    </body>
    </html>
    

    实现效果

    将下载地址提供给需要的人,点击下载按钮即可实现app安装。
    市场上很多的分发平台,如蒲公英就是这么做的。


    注意:

    • 只可在苹果safari浏览器中实现下载,其他浏览器中打开可做一些引导提示。
    • 需要注意的是从ios7.1开始,http推送plist已经不能用了,只能使用https推送,因此访问这个文件的地址必须是https开头的。你可以配置自己的服务器支持https服务,也可以借助第三方工具。

    其他第三方app托管下载服务

    我们不必这么麻烦自己部署这么多文件,完全可以借助第三方应用内测分发平台,比较出名的有下面几个:

    fir.im - 免费应用内测托管平台|iOS应用Beta测试分发|Android应用内测分发
    http://fir.im/
    蒲公英 - 免费的应用托管平台|App应用众测分发
    http://www.pgyer.com/
    Pre.im - APP内测托管平台首选 - Beta测试 - 免费的应用内测托管平台
    http://pre.testin.cn/
    TestFlight Beta Testing - App Store - Apple Developer
    https://developer.apple.com/testflight/

    文章地址:https://www.cnblogs.com/dragonir/p/14412729.html 作者:dragonir

  • 相关阅读:
    为jquery添加扩展标准思路
    linux 相关命令
    通过设置PHPSESSID保存到cookie实现免登录
    CentOs7 配置nfs 系统
    ajax 异步 跨域上传图片
    php下载并安装pear脚本
    php基于swoole扩展的WebSocket
    php冒泡排序
    微信公众号验证TOKEN
    CSS清浮动处理(Clear与BFC)
  • 原文地址:https://www.cnblogs.com/dragonir/p/14412729.html
Copyright © 2011-2022 走看看