Можно ли прочитать список ссылок для загрузки корпоративного iOS из приложения?

Я хотел бы распространять приложение Enterprise iOS таким образом, чтобы к тому моменту, когда пользователь открывает его, оно уже отображало свое имя и другую информацию, хотя.ipa - это то же самое.ipa, которое загружает любой другой пользователь. Я полагаю, что мог бы сделать это, предоставив пользователю URL-адрес загрузки приложения, специфичный для него, и сгенерировав требуемый Enterprise лист загрузки для включения некоторых пользовательских данных, но мой вопрос:

Можно ли даже получить доступ к / прочитать Plist по ссылке на скачивание из приложения? Если так, то как?

5 ответов

Решение

Существует способ прочитать корпоративную ссылку для загрузки из приложения (но я уверен, что вы не запрашиваете код для загрузки и чтения файла), но нет способа отобразить что-то другое в приложении на основе параметр на странице индекса или в файле манифеста, без изменения самого IPA.

К сожалению, установленное приложение не знает файла манифеста или индексной страницы, с которого оно было загружено.

РЕДАКТИРОВАТЬ со ссылками / источниками

Эта ссылка в разделе "Экспорт приложения для тестирования за пределами App Store": " Экспорт приложения для тестирования (iOS, watchOS)" обсуждает файлы манифеста, но не упоминает цепочку данных от веб-развертывания до приложения.,

Я также поговорил со старшим советником Apple, который подтвердил, что не существует механизма, который дает приложению какие-либо сведения о том, откуда оно было установлено.

Единственный способ сделать это - отправить всем пользователям одну и ту же ссылку ( examplesite.com/ios/download), а также отправить им уникальный идентификатор пользователя "SG5JD5J". Когда приложение загружается и открывается в первый раз, попросите пользователя ввести свой уникальный идентификационный код пользователя. В этот момент ваше приложение может обновить их список и перейти в приложение.

К сожалению, способ, которым вы хотите это сделать, потребует использования закрытых API или взломанного устройства iOS, чтобы вы могли посмотреть историю веб-браузеров, найти свой URL (пример site.com/ios/download) с уникальным идентификатором в конце и обновить Плейст по мере необходимости.

Если вы найдете решение для этого, пожалуйста, прокомментируйте, как мне было бы интересно увидеть.

Я могу придумать два варианта:

  1. Вы можете создавать "персонализированные" IPA. Другими словами, когда пользователь запрашивает загрузку IPA, ваш сервер генерирует список, содержащий всю информацию о пользователе, сохраняет файл внутри IPA и запускает codesign, Тогда просто подайте IPA пользователю.
  2. Используйте MDM, чтобы ввести информацию непосредственно в NSUserDefaults: https://developer.apple.com/library/ios/samplecode/sc2279/Introduction/Intro.html

Нет, это невозможно. Plist предназначен для iOS, чтобы найти информацию, такую ​​как путь загрузки, версия и название приложения, чтобы iOS знала, что предложить пользователю.

Ваш код может выполняться только после того, как приложение было установлено на устройстве, и в это время у него больше нет информации об этом списке. И приложение не может найти информацию о пути загрузки.

Невозможно прочитать какой-либо файл из IPA, если он еще не установлен на устройстве.

Что вы можете сделать, так это получить информацию о пользователе с вашего веб-сайта, т.е. позволить пользователю заполнить форму на странице загрузки. Затем сохраните данные на свой сервер вместе с GUID, который вы можете сгенерировать со страницы загрузки.

После того, как приложение установлено и запущено, оно должно заново создать GUID, а затем запросить у вашего сервера информацию о пользователе, связанную с GUID.

Ваше приложение может предварительно заполнить информацию о пользователе.

Проблема в том, как ваша страница загрузки может создать GUID, который также будет воссоздан установленным приложением? Ну, вы можете создать GUID, используя информацию браузера. Проверьте это о том, как создать GUID, используя информацию браузера:

https://andywalpole.me/#!/blog/140739/using-javascript-create-guid-from-users-browser-information

Другие вопросы по тегам