Генерация манифеста iOS на лету - PullRequest
0 голосов
/ 09 февраля 2019

Я пытаюсь сгенерировать манифест Apple iOS на лету без необходимости указывать на физически представленный файл.Причина в том, что ссылка IPA внутри файла manifest.plist будет содержать URL-адрес с маркером безопасности, срок действия которого истекает через определенный период.

Вот соответствующий бит кода в методе действия, который возвращает действительный манифестfile:

//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

Я также пытался обмануть iOS, переименовав GetIOSManifest действие на manifest.plist, которое тоже не сработало.

Есть ли способ добиться этого?Я делаю тесты с Safari.

1 Ответ

0 голосов
/ 11 февраля 2019

Я понял это, убедившись, что метод действия вернул FileContentResult без FileDownloadName с типом mime text/xml

Кроме того, JavaScript на стороне клиента должен encodeURIComponent() URL-адрес манифестакоторый используется в ссылке itms-services.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...