Я предполагаю, что вы хотите что-то вроде автоматического обновления .Приложение делает что-то по заказу с сервера без ручного управления пользователем.
Я не знаю особенность корпоративной лицензии iOS.Но я считаю, что нет таких специфичных для предприятия API.И, как я знаю, автоматическое обновление практически невозможно.Потому что
- На уровне системы не поддерживается автоматическое обновление.(еще?)
- Таким образом, функция обмена сообщениями и выборки должна быть реализована в приложении.
- Но ни одно приложение не может работать в фоновом режиме в течение длительного времени.
- А также пользователь можетВы можете отключить любое приложение в любое время.
- Невозможно отправить сообщение приложению, которое не запущено.
- Даже если вы можете отправить сообщение, нет способа обратиться к каждому клиенту изserver.
Если ваше приложение запущено, отправка сообщения или указание ему выбрать или сделать что-либо - это просто простая работа.Проблема в том, что нет никакого обычного способа заставить их всегда оставаться в живых. Даже в таких ситуациях, как перезагрузка ОС или аварийное завершение работы.
Однако есть альтернатива.Просто зарегистрируйте приложение как приложение VOIP, такое как Skype.ОС также не поддерживает приложение в рабочем состоянии, но будет контролировать конкретный порт сокета и разбудит ваше приложение, когда сокет получит какое-либо сообщение.Подробнее см. Здесь: http://developer.apple.com/library/ios/documentation/iphone/conceptual/iphoneosprogrammingguide/BackgroundExecution/BackgroundExecution.html#//apple_ref/doc/uid/TP40007072-CH5-SW15
В AppStore приложение, использующее VOIP для других целей, таких как автоматическое обновление, не будет передано, но вам не нужно об этом беспокоиться.
И другой способ отправки сообщения на устройство без запуска приложения - push-уведомление .Эта функция поддерживается на уровне системы.Но это не предназначено для командного приложения.Это предназначено для отправки текстового сообщения.Так что, если ваше приложение не запущено, сообщение будет отображаться пользователю.Однако вы можете направить пользователя к запуску приложения, отправив push-уведомление.
В качестве окончательного варианта вы можете запросить некоторые функции у Apple для корпоративной среды.Если ваша компания достаточно велика, чтобы получить корпоративную лицензию, Apple серьезно рассмотрит ваш запрос на добавление функций.
Если вы решили использовать метод VOIP, извините, я больше не могу вам помочь.У меня нет опыта реализации такого рода приложений.Но это не должно быть так сложно.
Однако сложная часть - это сервер.Это определенно требует пользовательской серверной программы, которая поддерживает соединение TCP / IP.Обычный HTTP-сервер не может быть использован.Потому что сам HTTP разработан так, чтобы не поддерживать TCP / IP-соединение.Вы должны создать такой сервер самостоятельно с нуля.Вам придется обрабатывать передачи TCP / IP более низкого уровня.
Существует несколько решений (как бесплатных, так и коммерческих) для этого типа серверов, но ни одно из них не популярно, потому что этот тип сервера регулярно нуждается в полном объеме.настройки.Так что нечего повторно использовать или поделиться.
Однако я считаю, что это наиболее подходящая реализация для вашего приложения.
Если вы можете выполнить автоматическое обновление только во время работы приложения,вы можете заархивировать его, периодически опрашивая состояние сервера у клиента.
Это легко реализовать, поскольку вы можете использовать для этого обычные HTTP-серверы.Клиент подключается и периодически загружает последние обновления с центрального сервера.Если есть новое обновление, просто загрузите и делайте что хотите.И приложение запускается, просто сначала проверьте обновление.Запретите все операции, пока не будет применено обновление.
Это обычный способ.Большинство приложений создаются с помощью этого метода.В этом случае вам не нужно реализовывать сервер или что-то сложное.
Однако скорость обновления зависит от периода опроса.
(Правка)
Я не мог заботиться о частных API.Поскольку ваше приложение не для AppStore, вы можете свободно использовать частные API.(Это совсем другое дело при взломе джейлбрейка. Существует так много скрытых функций, которые исключены из документации) Я не знаю о частных API, но возможно, что есть какой-то API, который обеспечивает поддержкуживой из приложения.Однако эта реверс-инжиниринг работа настолько болезненна, если вы не рождены для взлома.