Проблема с публикацией после обновления Xcode 16
После обновления Xcode до версии 16 сборка и публикация мобильных приложений на платформе 1С перестали работать. В процессе публикации в App Store появляется сообщение от Apple:
- ITMS-90714: Invalid binary - The app contains one or more corrupted binaries. Please rebuild the app and resubmit.
- ITMS-90984: Apple Vision Pro support issue - The details associated with your Apple Developer Program membership indicate that you’re not eligible to publish apps on the App Store in visionOS.
Вторая ошибка легко устраняется отключением поддержки VisionOS в App Store Connect. Первая, однако, требует более глубокого анализа.
Ошибка ITMS‑90714: Что означает «корруптированные бинарники»?
Apple проверяет бинарный файл на наличие «неправильных» флагов линковки. После обновления Xcode некоторые флаги, которые ранее подавляли ошибки, теперь считаются некорректными. Это приводит к отклонению сборки.
Шаги по устранению ошибки
- Откройте проект в Xcode и перейдите в Build Settings → Other Linker Flags.
- Удалите флаги
-Xlinker -interposable. Эти флаги подавляли ошибки, но теперь они вызывают отклонение. - Если после удаления появляется ошибка
no_objc_category_merging, удалите и этот флаг. - Соберите проект заново. Если сборка завершится без ошибок, попробуйте снова отправить приложение в App Store.
- Если ошибка повторяется, удалите все пользовательские флаги линковки и повторите сборку. В большинстве случаев это приводит к появлению тех же ошибок Xcode, которые возникали до обновления Xcode 16.
Таким образом, флаги, которые ранее позволяли собрать приложение, теперь считаются «корруптированными» бинарниками. Это свидетельствует о том, что в мобильной платформе 1С не обновлены внутренние настройки линковки.
Дополнительные нюансы
- Apple прекратила поддержку старых версий iOS, поэтому в проекте необходимо вручную выставлять Minimum Deployment Target на 15‑ю версию.
- Если вы используете VisionOS, отключите публикацию для этого SDK в App Store Connect, иначе получите ошибку ITMS‑90984.
Выводы
Обновление Xcode 16 выявило несовместимость некоторых флагов линковки, используемых в мобильной платформе 1С. Пока разработчики платформы не обновят внутренние настройки, решение состоит в ручном удалении проблемных флагов и отключении поддержки VisionOS. Если вы столкнулись с аналогичной проблемой, рекомендуется обратиться в поддержку 1С с подробным описанием ошибок и шагов, предпринятых для их устранения.
