Приложение, защищенное именем пользователя/паролем, в корпоративной программе разработчика iOS

Я зарегистрирован в корпоративной программе для разработчиков iOS и мне интересно, как я могу защитить паролем свое приложение?

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

Никаких ограничений UDID или чего-то подобного.

Я прочитал в каком-то сообщении SA, что я могу сделать это корпоративной программой разработчика ios. Но мой вопрос, как я могу это сделать? Есть ли какая-либо статья или шаги, упомянутые где-нибудь, или, может быть, какая-нибудь благословенная душа могла бы упомянуть об этом здесь, пожалуйста?

Спасибо


person Steve    schedule 19.08.2014    source источник
comment
Вы можете просто поместить его на сервер, который требует ввести пароль для доступа к ссылке IPA, чтобы начать загрузку.   -  person LyricalPanda    schedule 19.08.2014
comment
Но разве это не потребует от меня наличия AdHoc Distribution и UDID загрузчиков заранее?   -  person Steve    schedule 19.08.2014
comment
Вам не нужен UDID загрузок заранее. Вы сказали, что у вас есть корпоративная программа iOS, которая предназначена для крупных компаний, чтобы предоставлять своим пользователям внутренние приложения (нет ограничений по устройствам, если в компании было › 100 человек) без использования AppStore. Это позволяет вам использовать сервер для распространения приложения кому угодно. Предупреждение: если вас обнаружат, что вы распространяете его среди сотрудников, не являющихся сотрудниками компании, Apple имеет право отозвать вашу корпоративную программу. Я не помню про раздачу AdHoc, но довольно просто создать другой профиль, если у вас его нет в аккаунте.   -  person LyricalPanda    schedule 19.08.2014
comment
Извините, забыл упомянуть, что это нужно делать только в том случае, если вы даете его сотрудникам своей компании (или компании, от имени которой вы разрабатываете, если корпоративная программа находится под их именем). Если вы делаете это для клиентов, вы можете посмотреть, удовлетворит ли B2B ваши потребности. Если ни один из них не имеет места, вы можете нажать на магазин приложений, но заставить их иметь учетные данные для входа/использования приложения. На самом деле все зависит от того, какая у вас целевая аудитория.   -  person LyricalPanda    schedule 19.08.2014
comment
Прежде всего, большое спасибо за вашу помощь. Итак, сотрудники, которые будут использовать приложение, имеют корпоративную учетную запись на имя своей компании; так что это хорошо. Единственная проблема, у меня нигде нет указаний, где я могу установить имя пользователя/пароль. Во-первых, это аутентификация сервера; любая идея, где я бы настроить его? Второе, что вы упомянули, находится в приложении; означает ли это, что я реализую имя пользователя/пароль в приложении, и оно перенесет меня вперед только после аутентификации имени пользователя/пароля?   -  person Steve    schedule 19.08.2014
comment
Да, я работал над одним корпоративным приложением, которое требовало наличия корпоративной учетной записи, хотя в магазине приложений оно было бесплатным. Люди могли загрузить приложение, но без учетных данных они не могли войти в него.   -  person LyricalPanda    schedule 19.08.2014
comment
О, значит, у них была корпоративная учетная запись, но вы все же внедрили учетные данные в приложение, чтобы они могли загрузить приложение, но должны были аутентифицировать себя перед входом, верно?   -  person Steve    schedule 19.08.2014


Ответы (1)


После подтверждения того, что у вас есть учетная запись корпоративного разработчика, и учетная запись фактически находится в компании, я предполагаю, что это приложение является исключительно внутренним приложением для компании, в которой находится учетная запись разработчика. Это означает, что вы можете использовать OTA или Over-The-Air передачу. Первое, что вам нужно сделать, это заархивировать приложение. На одном из последних шагов вместо отправки в магазин Apple вы можете выбрать доставку по беспроводной сети. Это создаст plist и ipa. Обратите внимание, что вам необходимо правильно указать все URL-адреса в plist, включая URL-адреса icon, иначе установка OTA может завершиться ошибкой.

Итак, теперь у вас есть plist и ipa. Что вам нужно сделать, это получить доступ к их серверу. У них, вероятно, уже есть несколько серверных парней, поэтому все, что вам нужно сделать, это передать им файл или запросить разрешения FTP. Теперь у вас есть два варианта:

1) Рекомендую, чтобы это приложение было только на внутреннем сервере, доступном только по корпоративному вай-фаю. Это сделает его намного более безопасным, чтобы люди не имели доступа к приложению, наткнувшись на него в Интернете.

2) Разместите его в Интернете с некоторой аутентификацией и надейтесь, что сервер не будет найден/взломан.

Как только это будет решено, теперь вам нужно указать на файл plist. Что происходит, так это то, что ваш телефон будет имитировать установку магазина iTunes с вашим plist. Вам нужно указать на него с помощью чего-то вроде:

<a href="itms-services://?action=download-manifest&url=localFilePath/APP.plist">App Link </a>

Обратите внимание, что href имеет специальную ссылку и ключевое слово. Это сообщит iphone, что есть приложение, которое он должен установить, используя предоставленный URL-адрес plist. Телефон выйдет и загрузит pList, который будет иметь URL-адрес для вашего ipa. Затем телефон выйдет, чтобы захватить IPA и начать установку.

person LyricalPanda    schedule 19.08.2014
comment
Спасибо большое Лирике. Я ценю это. Это очень ясно и лаконично. Единственная небольшая проблема заключается в том, что я не вижу опции «Доставить по беспроводной сети» на последних шагах вместо опции отправки в магазин Apple. Любая идея, почему это происходит? - person Steve; 19.08.2014
comment
Похоже, моя память уже портится. Посмотрите эти две ссылки, которые показывают разные способы сделать это в зависимости от вашей версии xCode. Похоже, я ошибся в том, как создать сборку OTA. shinydevelopment.com/blog/ iosdevelopertips.com/xcode/ - person LyricalPanda; 19.08.2014
comment
Yup Lyrical, как уже упоминалось в этих ссылках, об OTA не может быть и речи. Сначала нам нужны UDID людей, а затем мы можем отправить им ссылку, например ‹a href=itms-services://?action=download-manifest&url=localFilePath/APP.plist›Ссылка на приложение ‹/a›. Так что думаю об ОТА не может быть и речи. - person Steve; 19.08.2014
comment
Часть о необходимости UDID неверна. Я настроил OTA для двух разных приложений под двумя разными корпоративными учетными записями, прежде чем они были доставлены более чем на 100 устройств для каждой учетной записи. Этот ответ SO также подтверждает, что вы можете использовать OTA без UDID: stackoverflow.com/questions/8830194/ "Enterprise developers can't submit to the app store, but they can sign apps for installation onto any device, without knowledge of UDIDs" - person LyricalPanda; 19.08.2014