Разработка и публикация мобильного приложения 1С для iOS: пошаговое руководство и подводные камни

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

Разработка мобильного приложения на платформе 1С для устройств Apple традиционно считается более сложной задачей, чем аналогичная работа для Android. Это связано с закрытостью экосистемы Apple, строгими требованиями к безопасности и необходимостью специализированного оборудования. Однако для крупных проектов, где парк устройств на 80% состоит из iPhone (например, у сервис-инженеров или торговых представителей), реализация полноценного iOS-клиента становится производственной необходимостью. В этой статье мы разберем по шагам, как организовать процесс разработки, какие инструменты использовать и как избежать лишних трат на оборудование.

Выбор стратегии: Мобильное приложение или Мобильный клиент?

Перед началом разработки мы должны проанализировать, какой тип мобильного решения подходит под наши задачи. Платформа 1С предлагает два основных варианта:

  1. Мобильное приложение (автономное): Полностью независимая база данных на устройстве. Синхронизация с сервером происходит через веб-сервисы или планы обмена. Подходит для работы в условиях плохого интернета.
  2. 1С:Мобильный клиент: Работает в режиме онлайн напрямую с основной базой сервера 1С. Интерфейс адаптируется под мобильное устройство автоматически.

Рассмотрим важный нюанс: если вы выберете стандартный «1С:Мобильный клиент», доступный в App Store, вам вообще не потребуется собирать собственное приложение и покупать Mac. Пользователи просто скачивают официальный клиент 1С и вводят адрес вашего сервера. Если же заказчику нужна кастомная иконка, название в меню телефона и специфический функционал (например, особые драйверы оборудования), придется собирать собственную сборку (пакет .ipa).

Инструментарий разработчика: нужен ли обязательно MacBook?

Традиционный путь разработки под iOS требует наличия компьютера с macOS и установленной среды Xcode. Однако мы можем рассмотреть альтернативные варианты, если бюджет проекта ограничен:

Регистрация в Apple Developer Program

Для публикации приложения нам в любом случае потребуется аккаунт разработчика. Проанализируем доступные типы аккаунтов:

  1. Individual (99$/год): Оформляется на физическое лицо. Имя разработчика в App Store будет соответствовать имени владельца.
  2. Organization (99$/год): Оформляется на компанию (требуется наличие номера D-U-N-S). Это оптимальный выбор для бизнеса.
  3. Enterprise (299$/год): Позволяет распространять приложение внутри компании без публикации в общем App Store. Однако сейчас Apple выдает такие лицензии крайне неохотно, проверяя численность штата (обычно от 100 человек).

Выясним причину сложностей с оплатой: в некоторых регионах СНГ прямая оплата с карт может быть заблокирована. В таких случаях мы используем оплату через мобильный счет (например, Билайн или МТС, если такая возможность сохраняется в настройках Apple ID) или зарубежные платежные средства.

Особенности разработки кода 1С под iOS

При написании кода в 1С мы должны учитывать специфику «яблочной» операционной системы. Разберем ключевые отличия от Android:

Работа в фоне: iOS очень жестко ограничивает фоновую активность. Если нам нужно, чтобы сервис-инженер передавал свои координаты GPS, пока телефон лежит в кармане, мы должны использовать объект СредстваГеолокации с особой осторожностью и правильно настроенными разрешениями в plist-файле. Если приложение будет потреблять слишком много энергии в фоне, система его принудительно закроет.

Push-уведомления: Для реализации уведомлений о новых заявках недостаточно написать код на встроенном языке. Нам потребуется настроить сертификаты APNs (Apple Push Notification service). Рассмотрим примерную логику отправки пуша из серверной базы:


// Пример формирования структуры для отправки уведомления
Уведомление = Новый ДоставляемоеУведомление;
Уведомление.Текст = "Назначена новая заявка №123";
Уведомление.Звук = "default";
Уведомление.Приложение = "com.company.serviceapp";

// Отправка через системный центр уведомлений
Центр = ДоставляемыеУведомления.СоздатьЦентр();
Центр.Отправить(Уведомление, ИдентификаторУстройства);

Песочница и файлы: На iOS нет прямого доступа к файловой системе. Мы не можем просто так сохранить файл в папку «Документы» и ожидать, что другое приложение его увидит. Для обмена данными используем механизмы ПоместитьФайл и системное диалоговое окно «Поделиться».

Методы дистрибуции для 200 сотрудников

Когда приложение готово, встает вопрос его доставки на 200 смартфонов инженеров. Рассмотрим наиболее эффективные способы:

Apple Business Manager (ABM): Это «золотой стандарт» для корпораций. Мы регистрируем компанию в ABM и связываем её с аккаунтом разработчика. Это позволяет публиковать приложение как «неперечисленное» (unlisted). Приложение не будет видно в поиске App Store для всех, но ваши сотрудники смогут установить его по прямой секретной ссылке. Это избавляет от проблем с установкой через кабели и программаторы.

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

Отладка и тестирование

Для качественной отладки нам обязательно потребуется хотя бы один физический iPhone. Симулятор Xcode, запускаемый на Mac, не поддерживает работу с камерой (сканирование штрихкодов), NFC и специфические функции телефонии.

Разберем по шагам процесс отладки:

  1. Подключаем iPhone к Mac кабелем.
  2. В Xcode выбираем наше устройство в качестве цели.
  3. В конфигураторе 1С включаем возможность отладки мобильного приложения.
  4. Используем замер производительности, так как мобильные процессоры, несмотря на свою мощность, имеют другие лимиты по памяти, чем десктопные решения.

Подведем итог: разработка под iPhone на 1С вполне реальна и не требует огромного парка техники Apple. Достаточно одного MacBook (или его качественной виртуализации) для инженера-сборщика и использования «Сервиса сборки 1С». Основное внимание стоит уделить вопросам лицензирования компании и настройки корпоративного канала дистрибуции через Apple Business Manager.

← На главную