iOS发行版 - plist中itms-services协议链接中的参数

时间:2012-01-16 14:46:56

标签: ios plist protected

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

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

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

目前上述链接出现错误

  

无法连接到example.com

4 个答案:

答案 0 :(得分:26)

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

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

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

添加以下MIME类型:

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

答案 1 :(得分:3)

您需要确保可以访问.plist和.ipa。我们对文件进行了auth cookie保护,iTune无法安装,完全相同的错误“无法连接到mydomain.com”。它最终取消了安全保护。

答案 2 :(得分:2)

对于有兴趣动态生成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.

答案 3 :(得分:1)

我的服务器上有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无效。但是这样做了。