Альтернативные решения для внутреннего распространения корпоративных приложений для iPhone - PullRequest
22 голосов
/ 22 июля 2010

Клиент попросил нас разработать собственное приложение для управления своими внутренними системами.Тем не менее, мы - небольшая компания-разработчик, и я уверен, что в их компании не работает> 500 человек.

Существуют ли альтернативные, но схожие решения, для распространения этого приложения в своей компании без использования iPhone?корпоративная программа?

(просто чтобы уточнить: очевидно, мы бы хотели пройти официальную корпоративную программу, но, видя, что в компании нет> 500 сотрудников, это невозможно).

ОБНОВЛЕНИЕ (27/09): Похоже, Apple удалила ограничение в 500 сотрудников для корпоративного распределения См. Здесь .Так что это, вероятно, будет наш маршрут сейчас (что полезно, потому что приложение приближается к завершению).Я обновлю это по мере прохождения процесса, если кто-то захочет, чтобы другие могли понять, на что похож настоящий процесс.

Ответы [ 10 ]

22 голосов
/ 28 июля 2010

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

Затем вы создаете действительно простую систему управления конфигурацией на веб-хосте (или платформе, такой как Google AppEngine).), который управляет аутентификацией приложений.

Когда пользователь запускает бесплатное приложение, его просят ввести имя пользователя / пароль / что угодно.Эта информация отправляется в веб-систему управления конфигурацией и подтверждается.Если приложение получает приемлемое подтверждение от системы управления конфигурацией, оно разблокирует себя для использования этим пользователем.

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

Независимо от того, используете ли вы одну учетную запись на человека или одну для всей компании, решать только вам.

Этот стиль распространения очень полезен, если вы хотите контролировать, кто может использовать приложение, но хотите простоты развертывания, которую обеспечивает AppStore.

Apple приняла много приложений в AppStore, которые используют этот методпроверка подлинности на удаленном сервере (отличный пример - Skype).

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

Кроме того, ничего из того, что я описал, не относится к конкретным iPhone, поэтому вы можете использовать ту же систему управления конфигурациями и концепции на других платформах, таких как Android (или даже настольные компьютеры), если вы когда-нибудь портируете приложение или создаете другие приложения, нуждающиеся в этом в будущем.

Кроме того, поскольку действие аутентификации устройств не является процессомили при использовании большого объема данных вы, скорее всего, никогда не понесете затрат, если создадите их в Google AppEngine, поскольку никогда не будете переходить через бесплатные квоты и получите стабильность и масштабируемость серверной архитектуры Google.

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

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

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

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

7 голосов
/ 25 сентября 2010

Я исследовал это вчера и сегодня, и похоже, что Apple только что (на прошлой неделе) отменила требование> 500 сотрудников для развития предприятия. Тем не менее, я считаю, что вам нужно будет разработать / развернуть для конкретного клиента, используя набор инструментов разработки, зарегистрированный клиентом.

Так что, если вы работаете для клиента A и клиента B, оба клиента A и B должны будут зарегистрироваться в Apple в качестве бизнес-разработчиков, после чего вы сможете разрабатывать приложения для них (в качестве подрядчика) и использовать их инструменты для строить и развертывать на своих предприятиях. Я думаю, что было бы неплохо, чтобы ваша компания также была зарегистрирована как разработчик бизнеса.

Apple по-прежнему требует, чтобы у вас был номер Dun & Bradstreet DUNS для регистрации в качестве бизнес-разработчика.

1 голос
/ 22 августа 2010

Оли сказала:

О единственном реальном выборе, который у вас есть ... До 100 устройств в качестве специального распределения.Распространение на предприятии (требуется> 500 сотрудников) Каждый должен перейти со своего устройства на какой-то IT-центр и получить устройство «разработчика».(yikes!) Сломанный в тюрьму.

Но, чтобы быть ясным (поправьте меня, если я ошибаюсь):

  1. , если вы используете "Ad-hoc" дистрибутивТаким образом, ваши клиенты увидят, что приложение исчезнет ровно через 3 месяца.
  2. только до 100 устройств может быть использовано для тестирования (т.е. используется в «режиме разработчика»), и, кроме того, приложение исчезнет через 3 месяца.

Итак, Apple не дает нам никакого выбора, вы действительно большой (> 500 сотрудников) ??Хорошо, так что вы можете делать то, что вы хотите и т. д. в противном случае ... "пока"

Кроме того, забудьте о том, что "Брайс" сказал ранее, приложение, подобное тому, которое он описал, будет отклонено с мотивом "известной аудитории".

iOS не для корпоративных приложений .... если вы не хотите полагаться на некоторых умных хакеров (например, джейлбрейк)

1 голос
/ 26 июля 2010

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

1 голос
/ 22 июля 2010

О единственном реальном выборе, который у вас есть ...

  • До 100 устройств в качестве специального распределения.
  • Ввод частного распространения (требуется> 500 сотрудников)
  • Каждый должен перейти от своего устройства к какому-то IT-центру и стать разработчиком устройства.(yikes!)
  • Сломанный в тюрьму.

Сломанный в тюрьму может показаться страшным, но на самом деле это довольно продвинутый, в наши дни, и им можно управлять довольно легко.Тем не менее, это аннулирует вашу гарантию (если вы не хотите восстановить на заводе и не быть честным об этом;)

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

Дайте нам знать, что вы решите, и плюсы и минусы этого метода.

0 голосов
/ 13 июня 2011

Есть и другое решение: собственный магазин приложений:

http://rhomobile.com/products/rhogallery/

к сожалению, только в сочетании с RhoHub.

Или: http://www.appcentral.com/

Подробнее: http://www.apple.com/iphone/business/integration/mdm/ http://www.cio.com/article/638175/Emerging_Tech_Alternatives_to_Apple_App_Store_For_Enterprises?page=2&taxonomyId=3002

0 голосов
/ 24 сентября 2010

Теоретически предлагаемое решение публикации бесплатного приложения, предназначенного для одной компании, недопустимо, поскольку опубликованные приложения в магазине приложений не должны предназначаться для "ограниченной аудитории" (что бы это ни значило), согласно:

http://appreview.tumblr.com/post/952395621/cannot-be-intended-for-a-limited-audience

Кто-нибудь пробовал это с успехом?Есть другие идеи?

0 голосов
/ 30 августа 2010

Вы можете полностью обойти процесс одобрения App-Store или Enterprise Developer Program, если разрабатываете свое приложение в виде чистого HTML5-решения.Эта технология называется веб-приложениями.И они могут быть довольно продвинуты в функциональности.Вы автоматически получаете кроссплатформенную готовность и очень простые варианты развертывания (в виде веб-клипа это можно распространять через файлы конфигурации .mobileconfig).

0 голосов
/ 29 июля 2010

Как Apple гарантирует, что на вашем предприятии работает более 500 человек? В любом случае, я бы попробовал пройти через корпоративную программу ...

Я бы не делал джейлбрейк, я бы не делал ad-hoc, потому что он ограничен 100, и я бы не заставлял всех переводить свои телефоны в режим разработчика.

Для удобства сопровождения в будущем лучше всего использовать корпоративный режим, поэтому посмотрите, сможете ли вы пройтись по этому процессу, не упоминая, что вас может не быть 500 пользователей.

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

Редактировать: я проверил веб-страницу Mono. Похоже, что Apple, возможно, все еще выпускает моно-приложения, и создатели Mono настаивают на том, что это кошерно, но вы можете в любой момент рискнуть забрать свое будущее приложение с телефонов.

Лучшее редактирование: прямо с моно сайта: Enterprise MonoTouch

Важно отметить, что новые условия iPhone Developer Agreement относятся к развертыванию AppStore, а не к программе Enterprise, которая позволяет развертывать собственное приложение для пользователей на предприятии (с помощью программы Enterprise Deployment).

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

0 голосов
/ 28 июля 2010

Специальное распространение ограничено 100 устройствами на приложение, это правда, но вы можете добавить проект n раз в центр разработчиков Apple, чтобы вы могли развернуть его на n * 100 устройств

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