2010-07-22 5 views
22

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

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

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

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

+0

я разработал в доме приложение, я пытаюсь открыть выше ссылку http://devworld.apple.com/programs/ios/enterprise/--- но ее не работает, в любом случае я просто хотел подтвердить, что это возможно для небольшой компании (около 200 сотрудников) а также клиент может загрузить это собственное приложение без использования магазина приложений? спасибо – Pooja

+0

@Pooja - небольшая компания может распространять корпоративное приложение (на самом деле у моего клиента около 50 сотрудников). Технически клиент * мог * скачать * это приложение, но вам нужно быть очень осторожным, когда дело доходит до распространения. Каждое приложение поставляется с сертификатом корпоративного распространения. Вредоносные пользователи могут извлечь этот сертификат и начать подписывать с ним свое приложение, что явно не является желаемым результатом. – Luke

ответ

22

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

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

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

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

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

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

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

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

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

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

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

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

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

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

+0

+1 Конечно, самый разумный вариант для небольших и средних развертываний. –

+0

Это, безусловно, похоже на блестящее решение, большое спасибо.Думаю, самая большая проблема, которую я испытываю в этом, - это то, что приложение предназначено для управления финансовыми системами на заднем плане, может быть трудно продать этот метод развертывания, поскольку они могут считать это «небезопасным». Еще одна проблема заключается в том, что мы разрабатываем приложение на C# (MonoTouch) (мне нравится/может кодировать в Obj-C, но являясь фирмой .NET, это имеет смысл для других разработчиков, чтобы они могли вносить свой вклад, не изучая новый язык), учитывая недавнее объявление Apple, интересно, будет ли это еще один блокпост. – Luke

+0

@ Luke, я обновил ответ, чтобы ответить на ваши проблемы, связанные с тем, что это решение является «небезопасным». К сожалению, у меня нет возможности полностью решить эту проблему, но есть много способов приблизиться к «безопасному» решению. Решение, предложенное Tobias P., может быть вашим лучшим вариантом, если вам нужно полностью остановиться в AppStore, но посмотрите на мой комментарий к его решению и учтите это. Хотел бы я знать, будут ли инструменты, подобные MonoTouch, продолжать использоваться в будущем. Удачи! –

1

О единственных реальных вариантов у вас есть это ...

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

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

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

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

+0

Я боялся, что это будет ответ; также отправил электронное письмо в Apple, чтобы узнать, могу ли я получить что-либо прямо от рта лошади, но я не задерживаю дыхание. Жаль, что они ограничивают план предприятия более чем 500 сотрудниками. Я не уверен, как сильно они будут взломать все свои телефоны (я, наверное, должен также отметить, что мы надеемся разработать iPad также - насколько мне известно, нет джейлбрейка для iPad?) Мы встречаемся с клиентом в понедельник, поэтому я дам вам знать, что мы решаем (и ответ от Apple, если я получу его!) – Luke

+0

Привет, Оли, я большой поклонник вас. Продолжайте хорошую работу! – Chrizzz

1

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

0

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

+1

Вам нужно будет заплатить 100 долларов в год за новую учетную запись разработчика за каждые 100 устройств, поскольку Apple ограничивает каждую учетную запись разработчика до 100 устройств, на которые может распространяться Ad-hoc (это действительно не дорого, если вам платят за разработку приложение). Тем не менее, я считаю (но не имею ссылки, чтобы доказать это), что против политики Apple одному разработчику есть несколько учетных записей разработчиков, чтобы выразить это ограничение. –

0

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

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

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

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

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

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

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

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

+0

Одним из требований к корпоративной программе является предоставление номера DUNS, который, как я знаю, у нашего клиента не имеет ни того, к сожалению, это не проспект, который мы можем исследовать; в любом случае, спасибо ! – Luke

1

Оли сказал:

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

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

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

Итак, Apple не дает нам выбора, вы действительно большой (более 500 сотрудников)? ОК, так что вы можете делать то, что хотите и т. д., иначе ... «byebye»

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

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

+0

+1 к возможным отклонениям из-за «ограниченной аудитории», возможно, стоит попытаться представить приложение, описанное Брайсом, но не рассчитывайте на его принятие. – Jona

0

Вы можете полностью обойти процесс утверждения программы для разработчиков App-Store, или Enterprise, если вы разрабатываете приложение как чистое решение HTML5. Эта технология называется webapps. И они могут быть довольно продвинутыми по функциональности. Вы автоматически получаете перекрестную готовность и очень простые варианты развертывания (в качестве веб-клипа это может быть распространено через.конфигурационные файлы mobileconfig) См http://www.apple.com/webapps/whatarewebapps.html

-1

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

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

кто-нибудь пробовал это с успехом? Любые другие идеи?

7

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

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

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

+0

Это превосходно, спасибо вам большое! – Luke

0

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

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

Смежные вопросы