2

我一直在试验“应用程序 URL:”字段中的哪些字符可以防止在从清单链接部署企业应用程序时触发 OTA 安装。

我正在尝试自动生成路径,但我们通常会在文件名中包含特殊字符,并且似乎 URL 中的某些字符只是阻止清单触发安装。

例如,如果您有一个空格字符,则无法使用 %20 将其转义并将 %20 放​​入应用程序 URL。如果这样做了,则不会引发任何错误,并且 itms-services://?action=download-manifest&url= 操作会在没有消息的情况下失败。

例如,如果应用程序的 pList 所在的应用程序 URL 是:http: //mydomain.com/my-app.ipa

清单文件的安装链接为:itms-services://?action=download-manifest&url=http://mydomain.com/my-app.plist

在 my-app.pList 中,会有这个条目:url http://mydomain.com/my-app.ipa

但是,如果将 - 替换为空格,则不能在应用程序 URL 中使用空格字符或转义的 %20,即使您使用 ipa 和 pList 的“应用程序 URL:”中的内容创建 ipa。

  1. 有没有已知的解决方法?
  2. 是否有在 URL 中使用时会破坏 OTA 安装的已知字符列表?

提前致谢。

4

2 回答 2

1

正如我在这里回答的那样,最简单的解决方案是用“+”(加号)替换空格,因为 ...url=... 表示它是查询字符串参数,在为 URL 编码时,它们应编码为表单数据参数。

从这里W3.org - HTML 文档中的表单

“控制名称和值被转义。空格字符被 '+' 替换,然后保留字符被转义,如 [RFC1738] 中所述”

于 2013-03-15T15:42:53.337 回答
0

当我在我的 plist 文件中使用 %20 并在我的 itms-services 链接中使用 %2520 时,它对我有用。tc这里的答案提到了 itms-services 链接的“双重转义”技巧。

于 2016-03-01T01:08:39.013 回答