Как обновить подпись мобильного клиента в проекте Xcode и исправить ошибку «Работа с данным приложением не поддерживается»?

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

При разработке мобильных приложений на платформе 1С программисты часто сталкиваются с ситуацией, когда проект уже сформирован в «Сборщике мобильных приложений», открыт в Xcode и даже успешно скомпилирован, но при запуске на устройстве выдается критическая ошибка: «Работа с данным приложением не поддерживается». В этой статье мы подробно разберем, почему возникает эта проблема, как обновить цифровую подпись конфигурации непосредственно в проекте Xcode, не возвращаясь в сборщик 1С, и как справиться с ограничениями бесплатных аккаунтов Apple.

Выясним причину ошибки: почему 1С блокирует запуск?

Прежде чем приступать к техническим манипуляциям, проанализируем ситуацию. Ошибка «Работа с данным приложением не поддерживается» в мобильном клиенте 1С обычно не связана с сертификатами Apple (Provisioning Profiles). Она сигнализирует о несоответствии метаданных. Платформа 1С при каждом соединении сравнивает «подпись мобильного клиента», зашитую в исполняемый файл приложения, с актуальной подписью конфигурации на сервере.

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

Способ 1. Ручное обновление подписи в ресурсах Xcode

Если мы не хотим тратить время на повторный запуск «Сборщика мобильных приложений 1С», мы можем внедрить новую подпись прямо в файлы проекта Xcode. Разберем этот процесс по шагам.

  1. Получим актуальную подпись из конфигурации. Откроем Конфигуратор нашей информационной базы на стационарном компьютере. Перейдем в свойства корневого узла конфигурации. Найдем строку Подпись мобильного клиента. Нажмем на кнопку выбора (три точки) и скопируем длинную последовательность символов в буфер обмена.
  2. Найдем файл конфигурации в Xcode. В левой панели проекта Xcode (Project Navigator) развернем группу ресурсов. Обычно 1С хранит настройки в файле 1cem-config.json или внутри XML-файлов в папке Resources.
  3. Заменим значение. Откроем найденный файл и найдем ключ, отвечающий за подпись (например, signature или MobileClientSignature). Вставим скопированную ранее строку из Конфигуратора. Сохраним файл.
  4. Пересоберем проект. Нажмем Cmd + B для сборки или сразу Cmd + R для запуска на устройстве. Теперь приложение будет содержать актуальный «паспорт» конфигурации.

Способ 2. Отключение проверки подписи на стороне сервера

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

Выполним следующие действия в Конфигураторе:

  1. Перейдем в меню Администрирование — Параметры информационной базы.
  2. Найдем вкладку Мобильный клиент.
  3. Установим флажок «Не выполнять проверку подписи».
  4. Нажмем ОК.

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

Решение проблемы с «демо-доступом» Apple и сертификатами

Часто разработчики используют бесплатный аккаунт Apple (Apple ID без платной подписки Developer Program). У такого подхода есть существенное ограничение: профиль обеспечения (Provisioning Profile) действует всего 7 дней. По истечении этого срока приложение просто перестает запускаться на iPhone.

Разберем, как продлить жизнь приложению, если нет возможности проплатить рабочий аккаунт прямо сейчас:

Во-первых, нам необходимо убедиться, что в настройках проекта Xcode на вкладке Signing & Capabilities установлена галочка «Automatically manage signing». Это позволяет Xcode самостоятельно взаимодействовать с серверами Apple и перевыпускать профили.

Во-вторых, когда срок в 7 дней истечет, нам не нужно пересобирать весь проект «с нуля». Достаточно выполнить следующие действия:

  1. Подключим iPhone к Mac с помощью USB-кабеля.
  2. Выберем устройство в качестве цели (Target) в верхней панели Xcode.
  3. Нажмем кнопку Run (Cmd + R).

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

Особенности работы в современных версиях Xcode

Рассмотрим важный нюанс: начиная с Xcode 15 и последних версий iOS, после установки приложения через кабель может потребоваться ручное подтверждение доверия сертификату. Если вы видите ошибку «Untrusted Developer», пройдем по пути на устройстве:

Настройки -> Основные -> VPN и управление устройством -> [Ваш Apple ID] -> Доверять.

Также помните, что на бесплатном аккаунте существует лимит — не более 3-х установленных сторонних приложений одновременно. Если вы пытаетесь поставить четвертое, Xcode выдаст ошибку подписи без объяснения причин. В этом случае удалим одно из старых тестовых приложений и повторим процедуру Run.

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

← На главную