Запуск собственного мобильного клиента 1С на устройствах Apple — задача, требующая не только знаний платформы 1С, но и понимания специфики экосистемы Apple: от версий macOS до нюансов работы с Xcode. В отличие от разработки автономного мобильного приложения, создание мобильного клиента подразумевает работу в связке с опубликованной на веб-сервере базой. Рассмотрим подробно, как пройти этот путь, избежать типичных ошибок с сертификатами и настроить рабочую среду даже при отсутствии современного компьютера Mac.
Перед началом работы разберем важный нюанс. Мобильное приложение — это полноценная база данных на смартфоне, которая может работать автономно и обмениваться данными с центральным узлом. Мобильный клиент — это, по сути, мобильный вариант «тонкого клиента», который работает напрямую с базой через интернет. Для его работы конфигурация должна быть опубликована на веб-сервере (Apache или IIS). Процесс сборки в Xcode для них схож, но в случае клиента нам критически важно правильно прописать URL веб-сервера в проекте prjios_client.
Одной из самых частых проблем является несовместимость версий. Разберем ситуацию: если мы используем старое оборудование (например, iMac прошлых поколений), оно может не поддерживать последнюю версию macOS, а старая macOS не позволит установить актуальный Xcode. В свою очередь, Apple жестко ограничивает минимальную версию iOS SDK для сборки приложений.
Проанализируем основные требования:
iOS, содержащую проект prjios_client.zip.Если у вас нет подходящего Mac, рассмотрим вариант с виртуализацией. Опыт разработчиков показывает, что VMware работает с USB-устройствами (iPhone/iPad) гораздо стабильнее, чем VirtualBox. Выясним причину: VirtualBox часто требует сложной настройки Extension Pack и активации драйверов в системных настройках macOS внутри виртуалки, что не всегда приводит к успеху.
При использовании VMware выполним следующие шаги:
VMware Tools для корректной работы графики и обмена файлами.Connect (Disconnect from host) для проброса устройства внутрь macOS.После того как проект prjios_client распакован и открыт в Xcode, необходимо внести изменения. Главная цель — привязать клиент к вашему веб-серверу. Проанализируем процесс настройки:
В проекте необходимо найти файлы конфигурации (обычно это XML-файлы настроек внутри ресурсов проекта) и указать URL публикации. Важно, чтобы на веб-сервере была установлена галочка «Публиковать мобильный клиент» при публикации информационной базы из конфигуратора 1С.
Пример программной проверки доступности сервера (если вы дорабатываете код под свои нужды):
// Пример проверки подключения к серверу в мобильном приложении
Процедура ПроверитьСвязьССервером()
Попытка
Соединение = Новый HTTPСоединение("ваш-сервер.ru", , , , , 5);
Запрос = Новый HTTPЗапрос("/");
Ответ = Соединение.Получить(Запрос);
Если Ответ.КодСостояния = 200 Тогда
Сообщить("Связь установлена успешно");
КонецЕсли;
Исключение
Сообщить("Ошибка подключения: " + ОписаниеОшибки());
КонецПопытки;
КонецПроцедуры
Эта ошибка часто возникает из-за несоответствия архитектур библиотек 1С и настроек проекта Xcode. Разберем способы исправления:
Build Settings проекта.Enable Bitcode и установим его в значение No. Мобильная платформа 1С часто не поддерживает Bitcode, что и вызывает ошибки линковки.Valid Architectures: для современных устройств там должно быть указано arm64.Многие задаются вопросом: можно ли собрать приложение без оплаты $99 в год? Да, это возможно, но с существенными ограничениями, которые мы сейчас рассмотрим:
Preferences -> Accounts), добавить свой Apple ID и на вкладке Signing & Capabilities нажать Automatically manage signing. Xcode сам создаст временный профиль.Настройки -> Основные -> Управление устройством и нажать «Доверять» вашему Apple ID.Чтобы упростить процесс и не править проект Xcode вручную, фирма 1С предоставляет специальную конфигурацию — «Сборщик мобильных приложений». Мы рекомендуем использовать именно этот инструмент. Рассмотрим алгоритм работы с ним:
Посмотрим на ситуацию, когда проект собрался, но не подключается к базе. Выясним возможные причины:
Info.plist приложения, установив Allow Arbitrary Loads = YES. Однако для рабочей эксплуатации наличие HTTPS обязательно.Сборка под iOS — процесс трудоемкий, но при правильном подборе версий ПО и использовании VMware для проброса устройств, вы сможете успешно запустить мобильный клиент 1С и обеспечить мобильность ваших пользователей.