【问题标题】:iOS distribution - parameters in itms-services protocol link for plistiOS 分发 - plist 的 itms-services 协议链接中的参数
【发布时间】:2012-02-11 11:43:34
【问题描述】:

我想在 itms-services 链接中传递用户 ID 和密码,以便可以访问受保护的 plist。

为了澄清,在以下链接中,plist 不能直接访问,因为访问需要输入用户名和密码才能访问 plist。

<a href="itms-services://?action=download-manifest&url=http://example.com/app.plist">

目前上述链接报错

无法连接到 example.com

【问题讨论】:

    标签: ios plist protected


    【解决方案1】:

    我在 Windows IIS 服务器上安装 IPA 和 PLIST。

    我必须将 .ipa 和 .plist 的 MIME 类型添加到 IIS 服务器,以便 iPad 能够下载应用程序。

    对于 IIS,打开 IIS 管理器。右键单击“服务器(本地计算机)”
    选择属性 单击“MIME 类型” 点击“新建...”

    添加以下 MIME 类型:

    .IPA   - application/octet-stream 
    .PLIST -  text/plain.
    

    【讨论】:

    • 这些 mime 类型对于其他 Web 服务器平台也很有用。谢谢
    • 您是否必须重新启动服务器才能获取新的 MIME 类型?
    • 如果您无法更改服务器 mime 类型,请查看我的答案,但您很幸运有 php。
    • @Richard 我不必重新启动服务器(IIS 8)。
    【解决方案2】:

    您需要确保可以访问 .plist 和 .ipa。我们对文件进行了身份验证 cookie 保护,iTune 无法安装,完全相同的错误“无法连接到 mydomain.com”。它终于通过删除安全保护起作用了。

    【讨论】:

      【解决方案3】:

      对于任何对动态生成 plist 感兴趣的人,这个例子是 PHP:

      $appUrl='itms-services://?action=download-manifest&url=http://server/iOSpList.php?'.
                      'url%3D'.$app['url'].
                      '%26bundle%3D'.$app['bundle'].
                      '%26version%3D'.$app['version'].
                      '%26name%3D'.$app['name'];
      

      另外,我认为 .plist mime 类型应该是 application/xml.

      【讨论】:

        【解决方案4】:

        我的服务器上有 PHP,无法访问服务器 MIME 配置。所以我这样做了:

        app.plist.php

        <?php
        header('Content-type: application/xml');
        
        $file = fopen("app.plist", "r");
        while(!feof($file)){
            $line = fgets($file);
            print str_replace(".ipa", ".ipa.php", $line);
        }
        fclose($file);
        ?>
        

        app.ipa.php

        <?php
        header('Content-type: application/octet-stream');
        
        $file = fopen("app.ipa", "r");
        while(!feof($file)){
            $line = fgets($file);
            print $line;
        }
        fclose($file);
        ?>
        

        由于某种原因,使用 readfile 不起作用。但确实如此。

        【讨论】:

        • &lt;a href="itms-services://?action=download-manifest&amp;url=http://localhost/AppDistribution/app.plist"&gt;Install App&lt;/a&gt;如何与上面的php脚本链接?我有设置 html 链接。我还创建了上面 2 个 php 文件。但不确定如何将 html 链接连接到 php 脚本?
        • 只需在此处添加.php 即可引用该文件。在你的情况下:&lt;a href="itms-services://?action=download-manifest&amp;url=http://localhost/AppDistribu‌​tion/app.plist.php"&gt;Install App&lt;/a&gt;
        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-01-06
        • 2013-12-12
        • 1970-01-01
        • 2014-07-16
        • 1970-01-01
        • 2012-04-11
        相关资源
        最近更新 更多