5

我正在尝试通过清单文件部署应用程序。在 Safari 中单击按钮后,没有任何反应,没有错误,只是加载。我的清单如下所示:

<?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>
  <!-- Array der Downloads. -->
  <key>items</key>
  <array>
   <dict>
    <!-- Array der zu ladenden Ressourcen -->
     <key>assets</key>
      <array>
       <!-- Softwarepaket: die zu installierende ipa-Datei. -->
        <dict>
         <!-- Pflicht: die Art der Ressource. -->
          <key>kind</key>
          <string>software-package</string>
          <!-- Pflicht: die URL der zu ladenden Datei. -->
          <key>url</key>
          <string>%url%</string>
        </dict>
      </array><key>metadata</key>
      <dict>
       <!-- Pflicht -->
       <key>bundle-identifier</key>
       <string>%bundleIdentifier%</string>
       <key>bundle-version</key>
       <string>%bundleVersion%</string>
       <!-- Pflicht: die Art des Downloads. -->
       <key>kind</key>
       <string>software</string>
       <!-- Pflicht: der beim Download anzuzeigende Titel. -->
       <key>title</key>
       <string>%title%</string>
      </dict>
    </dict>
  </array>
</dict>
</plist>

编辑 1

我的链接如下所示:

<a href="itms-services://?action=download-manifest&amp;url=https://someSite.de/applications/557170c4ffcb521300cacb59/versions/557170e7ffcb521300cacb5a/manifest.plist?access_token=g3hf32v8h5bfeg4t50zfepwzrb9w8b3rv9382va0we7352635baivo" target="_blank" translate="INSTALL" class="ng-scope">Installieren</a>

编辑 2

这是我的 plist 之一:

<plist version="1.0">
<dict>
<!--  Array der Downloads.  -->
<key>items</key>
<array>
<dict>
<!--  Array der zu ladenden Ressourcen  -->
<key>assets</key>
<array>
<!--  Softwarepaket: die zu installierende ipa-Datei.  -->
<dict>
<!--  Pflicht: die Art der Ressource.  -->
<key>kind</key>
<string>software-package</string>
<!--  Pflicht: die URL der zu ladenden Datei.  -->
<key>url</key>
<string>
https://someSite.de/applications/557170c4ffcb521300cacb59/versions/557170e7ffcb521300cacb5a/app.ipa?access_token=g3hf32v8h5bfeg4t50zfepwzrb9w8b3rv9382va0we7352635baivo
</string>
</dict>
</array>
<key>metadata</key>
<dict>
<!--  Pflicht  -->
<key>bundle-identifier</key>
<string>com.someSite</string>
<key>bundle-version</key>
<string>0.0.1</string>
<!--  Pflicht: die Art des Downloads.  -->
<key>kind</key>
<string>software</string>
<!--  Pflicht: der beim Download anzuzeigende Titel.  -->
<key>title</key>
<string>MyApp</string>
</dict>
</dict>
</array>
</dict>
</plist>
4

3 回答 3

1

解决问题的两个步骤: 1. 指定显示图像 2. 编码 manifest-url:例如

<a href="itms-services://?action=download-manifest&amp;url=https%3A%2F%2FsomeSite.de%2Fapplications%2F557170c4ffcb521300cacb59%2Fversions%2F557170e7ffcb521300cacb5a%2Fmanifest.plist%3Faccess_token%3Dg3hf32v8h5bfeg4t50zfepwzrb9w8b3rv9382va0we7352635baivo" target="_blank" translate="INSTALL" class="ng-scope">Installieren</a>
于 2015-06-09T13:33:36.933 回答
0

假设你有一个像这样的 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>http://somewebsite.com/APP.ipa</string>
                </dict>
            </array>
            <key>metadata</key>
            <dict>
                <key>bundle-identifier</key>
                <string>com.mycompany.APP</string>
                <key>bundle-version</key>
                <string>1.0</string>
                <key>kind</key>
                <string>software</string>
                <key>title</key>
                <string>NAME OF APP</string>
            </dict>
        </dict>
    </array>
</dict>
</plist>

一个有效的 .ipa 然后如果你提供一个带有 plist 链接的网页,如下所示:

<a href="itms-services://?action=download-manifest&url=http://somewebsite.com/APP.plist">Install App</a>

然后用户应该能够安装企业应用程序,假设他们有正确的配置等。您还需要确保您的网站允许用户执行 .IPA 文件

于 2015-06-05T09:34:04.217 回答
0

我在互联网上阅读了很多相互矛盾的信息。因为这是一个如此复杂的过程,所以提出了很多建议“只是为了安全”,但最终会浪费时间,因为它们只是你认为必须做的另一个变量。

无关紧要的事情

  • url的URL编码:你可以做<a href="itms-services://?action=download-manifest&url=http://example.com/APP.plist">
  • mime 类型:建议 plist =application/xml和 ipa =application/octet-stream但我经常拖到 s3 并且什么也没改变。
  • plist 和 ipa 位置:它们不需要与锚链接位于同一位置或位于同一服务器上。我有一个网站,然后直接链接到 s3
  • https 中的 html 页面:在测试期间,我发现我可以指向本地网络上192.168.1.x没有 https 并且下载正常的服务器

重要的事情

  • https - plist,ipa 确实需要是 https
  • 查询字符串参数 -?key=value在我的网址末尾添加会破坏下载。
  • xml 标头 -经过 6 小时调试后我的个人问题。不要忘记包括<?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">. 我正在使用的 xml 解析器和编写器正在剥离它。
于 2018-01-15T19:18:11.710 回答