Я программно загружаю файл ipa (корпоративная версия моего приложения) и предлагаю пользователю его установить.Установите программно загруженный ipa на устройстве iOS
Проблема аналогична Download and install an ipa from url on iOS, но разница в том, что ipa уже загружен в моем случае.
Я попробовал следующий вариант для решения вышеуказанной проблемы в:
- Изменить PLIST содержит URL для локального загруженного ипа.
`` `
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>items</key>
<array>
<dict>
<key>assets</key>
<array>
<dict>
<key>kind</key>
<string>software-package</string>
<key>url</key>
<string>file://{path-to-local-ipa}</string>
</dict>
</array>
<key>metadata</key>
<dict>
<key>bundle-identifier</key>
<string>com.yourCompany.productName</string>
<key>bundle-version</key>
<string>1</string>
<key>kind</key>
<string>software</string>
<key>title</key>
<string>productName</string>
</dict>
</dict>
</array>
</dict>
</plist>
` ``
- Update ITMS ссылка, чтобы указать на локально обновленный Plist файл -
itms-services://?action=download-manifest&url=file://{path-to-local-plist}
Но, при открытии ITMS ссылка с помощью [[UIApplication sharedApplication] openURL:itmsLink]
не работает и дает мне сообщение об ошибке Cannot install applications because the certificate for (null) is not valid
Это ссылка на то, как Facebook распространяет свое внутреннее приложение для dogfooding. Хотите сделать что-то подобное, чтобы пользователю было предложено установить приложение после загрузки приложения, тем самым увеличивая скорость его установки.
Почему бы просто не загружать свой двоичный файл в App Store и не позволять ему заниматься распространением приложений? – DDPWNAGE
Это касается досуга внутренней версии приложения - [facebook-dogfooding] (https://www.youtube.com/watch?v=Nffzkkdq7GM&feature=youtu.be&t=39m25s). Версия дистрибутива приложения уже присутствует в AppStore. – raviagarwal7