Разработка мобильного приложения на платформе 1С для устройств Apple традиционно считается более сложной задачей, чем аналогичная работа для Android. Это связано с закрытостью экосистемы Apple, строгими требованиями к безопасности и необходимостью специализированного оборудования. Однако для крупных проектов, где парк устройств на 80% состоит из iPhone (например, у сервис-инженеров или торговых представителей), реализация полноценного iOS-клиента становится производственной необходимостью. В этой статье мы разберем по шагам, как организовать процесс разработки, какие инструменты использовать и как избежать лишних трат на оборудование.
Перед началом разработки мы должны проанализировать, какой тип мобильного решения подходит под наши задачи. Платформа 1С предлагает два основных варианта:
Рассмотрим важный нюанс: если вы выберете стандартный «1С:Мобильный клиент», доступный в App Store, вам вообще не потребуется собирать собственное приложение и покупать Mac. Пользователи просто скачивают официальный клиент 1С и вводят адрес вашего сервера. Если же заказчику нужна кастомная иконка, название в меню телефона и специфический функционал (например, особые драйверы оборудования), придется собирать собственную сборку (пакет .ipa).
Традиционный путь разработки под iOS требует наличия компьютера с macOS и установленной среды Xcode. Однако мы можем рассмотреть альтернативные варианты, если бюджет проекта ограничен:
Для публикации приложения нам в любом случае потребуется аккаунт разработчика. Проанализируем доступные типы аккаунтов:
Выясним причину сложностей с оплатой: в некоторых регионах СНГ прямая оплата с карт может быть заблокирована. В таких случаях мы используем оплату через мобильный счет (например, Билайн или МТС, если такая возможность сохраняется в настройках Apple ID) или зарубежные платежные средства.
При написании кода в 1С мы должны учитывать специфику «яблочной» операционной системы. Разберем ключевые отличия от Android:
Работа в фоне: iOS очень жестко ограничивает фоновую активность. Если нам нужно, чтобы сервис-инженер передавал свои координаты GPS, пока телефон лежит в кармане, мы должны использовать объект СредстваГеолокации с особой осторожностью и правильно настроенными разрешениями в plist-файле. Если приложение будет потреблять слишком много энергии в фоне, система его принудительно закроет.
Push-уведомления: Для реализации уведомлений о новых заявках недостаточно написать код на встроенном языке. Нам потребуется настроить сертификаты APNs (Apple Push Notification service). Рассмотрим примерную логику отправки пуша из серверной базы:
// Пример формирования структуры для отправки уведомления
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Текст = "Назначена новая заявка №123";
Уведомление.Звук = "default";
Уведомление.Приложение = "com.company.serviceapp";
// Отправка через системный центр уведомлений
Центр = ДоставляемыеУведомления.СоздатьЦентр();
Центр.Отправить(Уведомление, ИдентификаторУстройства);
Песочница и файлы: На iOS нет прямого доступа к файловой системе. Мы не можем просто так сохранить файл в папку «Документы» и ожидать, что другое приложение его увидит. Для обмена данными используем механизмы ПоместитьФайл и системное диалоговое окно «Поделиться».
Когда приложение готово, встает вопрос его доставки на 200 смартфонов инженеров. Рассмотрим наиболее эффективные способы:
Apple Business Manager (ABM): Это «золотой стандарт» для корпораций. Мы регистрируем компанию в ABM и связываем её с аккаунтом разработчика. Это позволяет публиковать приложение как «неперечисленное» (unlisted). Приложение не будет видно в поиске App Store для всех, но ваши сотрудники смогут установить его по прямой секретной ссылке. Это избавляет от проблем с установкой через кабели и программаторы.
TestFlight: Можно использовать для бета-тестирования. Мы добавляем email сотрудников в список тестеров, и они получают приглашение. Важный момент: срок действия сборки в TestFlight ограничен 90 днями, после чего потребуется пересборка и обновление, что неудобно для постоянной эксплуатации.
Для качественной отладки нам обязательно потребуется хотя бы один физический iPhone. Симулятор Xcode, запускаемый на Mac, не поддерживает работу с камерой (сканирование штрихкодов), NFC и специфические функции телефонии.
Разберем по шагам процесс отладки:
Подведем итог: разработка под iPhone на 1С вполне реальна и не требует огромного парка техники Apple. Достаточно одного MacBook (или его качественной виртуализации) для инженера-сборщика и использования «Сервиса сборки 1С». Основное внимание стоит уделить вопросам лицензирования компании и настройки корпоративного канала дистрибуции через Apple Business Manager.