admin 发表于 2024-12-2 16:31:25

ipa下载安装所需的plist文件

要发布还必须有一个plist文件,在Xcode6之前会自动生成一个plist文件,但是Xcode6之后需要我们自己创建plist,文章最后提供一个plist模板,复制并重命名为plist后打开根据提示操作即可.图18为plist的截图,可以看到有三个URL,分别存放ipa,大小图标。下图的1(ipa)、2(大图)、3(小图)填写我们自己生成的URL,即将ipa和大小图标放在我们自己的服务器,当用Safari打开plist时会根据填的plist里面的1、2、3对应的URL来下载安装ipa、大小图标。



下面是plist模板的文本形式,将其复制到文本然后重命名.plist,用Xcode打开按照提示编辑即可。

<?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>,Plist是一种文件形式,通常用于储存用户设置,也可以用于存储捆绑的信息,该功能在旧式的Mac OS中是由资源分支提供的。由于Plist中存储的数据是抽象的,其采用的文件格式可以不止一种。
2,它是IOS开发过程中常用来捆绑信息的一种文件格式,它是数据格式是xml

补充: ipa文件
IPA是Apple程序应用文件iPhoneApplication的缩写,ipa格式就是IOS系统安装包的链
.plist下载地址格式:
<a href="itms-services://?action=download-manifest&url=https://www.baidu.com/ios/ceshi.plist"></a>


[*]举个例子:

在此安装包暂命名为:Mytest.ipa


[*]1.编写安装配置文件(Mytest.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>
                  <!-- 需要安装的ipa包在服务器的路径 -->
                  <string>https://www.example.cn/ipa/mytest/Mytest.ipa</string>
                </dict>
                <dict>
                  <key>kind</key>
                  <string>full-size-image</string>
                  <key>needs-shine</key>
                  <true/>
                  <key>url</key>
                  <!-- 安装时需要显示的大图标(1024*1024)在服务器的路径 -->
                  <string>https://www.example.cn/ipa/mytest/icon_full_size_s.png</string>
                </dict>
                <dict>
                  <key>kind</key>
                  <string>display-image</string>
                  <key>needs-shine</key>
                  <true/>
                  <key>url</key>
                  <!-- 安装时需要显示的小图标(180*180)在服务器的路径 -->
                  <string>https://www.example.cn/ipa/mytest/icon_display_s.png</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.mcrazy.Mytest</string>
                <key>bundle-version</key>
                <string>1.1.4</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>测试客户端</string>
            </dict>
      </dict>
    </array>
</dict>
</plist>

[*]2.上传配置文件(Mytest.plist)至服务器


用nginx或tomcat提供外部访问,下面在前端安装网页上就要用到此外部访问url: https://www.example.cn/ipa/mytest/Mytest.plist

[*]3.制作前端访问H5网页,触发安装事件


H5网页:Mytest.html

<!DOCTYPE html>
<html lang="en">
<head>
    <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
    <meta charset="UTF-8">
    <title>Ad Hoc .ipa在线安装</title>
    <style>
      *{
            margin: 0px;
            padding: 0px;
      }

      .download_div{
            width: 100%;
            height: 100%;
            text-align: center;
            font-weight: bold;
            /*background: -webkit-gradient(linear,0 0,0 bottom,from(#dbeae0),to(hsla(0,0%,100%,.6)));*/
            font-size: 2em;
      }

      .download_title{
            padding-top: 1em;
            padding-bottom: 1em;
            /*background-color: #d7e2f7;*/
            background: -webkit-gradient(linear, left top, left bottom, from(#d7e2f7), to(#ffffff));
      }
      .img_app_overview {
            width: 100%;
            height: 480px;
            display: block;
      }

      .download_button{
            /*margin-top: -0.3em;*/
            background: -webkit-gradient(linear,left top,left bottom,from(#879ee3), to(#ffffff));
            width: 100%;
      }

      .button{
            /*margin-top: 5em;*/
            margin-left: 0.8em;
            display: inline-block;
            outline: none;
            cursor: pointer;
            text-align: center;
            text-decoration: none;
            font: 14px/100% Arial, Helvetica, sans-serif;
            padding: .5em 2em .55em;
            text-shadow: 0 1px 1px rgba(0,0,0,.3);
            -webkit-border-radius: .5em;
            -moz-border-radius: .5em;
            border-radius: .5em;
            -webkit-box-shadow: 0 1px 2px rgba(0,0,0,.2);
            -moz-box-shadow: 0 1px 2px rgba(0,0,0,.2);
            box-shadow: 0 1px 2px rgba(0,0,0,.2);
            color:#fff;
      }

      .button_green{
            background: #c8dd95;
            background: -webkit-gradient(linear, left top, left bottom, from(#7a71d0), to(#ffffff) );
            background: -moz-linear-gradient(-90deg, #7a71d0, #ffffff);
      }

      .download_tips{
            font-size: 0.5em;
            margin-top: 1em;
            font-weight: normal;
            margin-top: 3em;
      }

      .button_top{
            margin-top: 3em;
      }

      a:hover, a:visited, a:link, a:active {
            text-decoration: none;
            color: #fff;
      }

      /*mobile*/
      @media screen and (max-width: 1199px){
            .img_app_overview {
                width: 100%;
                height: 250px;
                display: block;
            }
      }
    </style>
</head>
<body>
    <div class="download_div">
      <p class="download_title">测试安装包v1.1.4</p>
      <img class="img_app_overview" src="img_app_overview.png" alt="Mr.chao">
      <div class="download_button">
            <button class="button button_green button_top" onclick="downloadClientApp();"><a href="javascript:void(0);">点击安装app</a></button>
            <!-- <button class="button button_green button_top"><a href="{{androidAUrl}}">Android客户端下载</a></button> -->
            <div class="download_tips">
                <strong>微信扫描</strong>下载,<strong>请点击右上角</strong>,<br />选择“<strong>在浏览器中打开</strong>”即可安装下载
            </div>
      </div>
    </div>
    <script>
      var downloadClientApp = function() {
            // 在此用到配置文件(Mytest.plist)的外部链接
            window.location.href='itms-services:///?action=download-manifest&url=https://www.example.cn/ipa/mytest/Mytest.plist';
      }
    </script>
</body>
</html>更简单的html:

<!DOCTYPE html>
<html lang="en">
<head>
   <meta charset="UTF-8">
   <title>bitspot App下载</title>
</head>
<body>
<a href="itms-services://?action=download-manifest&url=https://www.example.cn/ipa/mytest/Mytest.plist">点击安装</a>
</body>
</html>
[*]4.安装


将H5网页部署在服务器上,需要有能Https访问证书

手机浏览器访问H5安装界面


点击安装

ending…

页: [1]
查看完整版本: ipa下载安装所需的plist文件