快速生成iOS清单

时间:2019-02-08 21:03:14

标签: c# ios asp.net asp.net-mvc

我试图动态生成Apple iOS清单,而不必指向实际存在的文件。原因是manifest.plist文件中的IPA链接将包含一个带有安全令牌的URL,该URL在一定时间后将失效。

以下是返回有效清单文件的action方法中的相关代码:

//manifestTemplate is just a string resource, then I insert the correct value for each XML node...
var output = string.Format(manifestTemplate, buildSASUrl, smallIconUrl, largeIconUrl, bundleId, version, title);
var bytes = Encoding.UTF8.GetBytes(output);
return new FileContentResult(bytes, "text/xml") { FileDownloadName = "manifest.plist" };

我试图打开iOS来安装应用程序的链接是:

itms-services://?action=download-manifest&url=https://website.net/Manifest/GetIOSManifest?buildId=fjEf1li1MUuxjVboSj7mVA

我还试图通过将GetIOSManifest动作重命名为manifest.plist来使iOS无效,以此来欺骗iOS。

有什么办法可以做到这一点?我正在使用Safari进行测试。

1 个答案:

答案 0 :(得分:1)

我通过确保操作方法返回了一个FileContentResult且没有FileDownloadName且模仿类型为text/xml的{​​{1}}

来解决了这个问题。

此外,客户端javascript还必须encodeURIComponent()链接中使用的itms-services清单的URL。