reckfellENGINE

Сборка шаблонов iOS

Устройство, симулятор, Swift, библиотеки и упаковка шаблонов.

На этой странице

Это инструкция по сборке нативных шаблонов экспорта, а не редактора или готовой игры. Для экспорта проекта используйте экспорт для iOS.

Подготовка

Откройте терминал в Source, рядом с SConstruct. Нужны Python 3.9+, SCons 4.4+ и полный Xcode с установленным iOS SDK. Одна установка Command Line Tools не заменяет iOS SDK. Выбор Xcode описан в инструкции Apple; установка компонентов — в документации Xcode.

Проверьте выбранные инструменты без изменения настроек:

Командная строка
xcode-select -p
xcrun --sdk iphoneos --show-sdk-path
xcrun --sdk iphonesimulator --show-sdk-path
xcrun --find swiftc
python3 --version
scons --version

Текущие build-скрипты используют Swift 6, C++ interop и минимальную цель iOS 15.0. Это параметры исходников Reckfell 1.0.0, а не гарантия работы любой комбинации Xcode, SDK и устройства. Если команда SDK завершается ошибкой, сначала установите соответствующий компонент Xcode и выберите полный Xcode в настройках Command Line Tools.

Устройство и симулятор

НазначениеАрхитектураПараметрSDK
iPhone/iPadarm64simulator=noiphoneos
Симулятор на Apple siliconarm64simulator=yesiphonesimulator
Симулятор на Intelx86_64simulator=yesiphonesimulator

Одинаковая архитектура arm64 не делает библиотеку устройства библиотекой симулятора. Для x86_64 без simulator=yes конфигуратор завершится с ошибкой. В текущем конфигураторе симулятор отключает Metal и Vulkan с предупреждением; для него используйте Compatibility/OpenGL ES, а визуальный результат Metal/Vulkan проверяйте на устройстве.

Сборка библиотек

Сначала соберите debug и release для устройства:

Командная строка
scons platform=ios target=template_debug arch=arm64 simulator=no -j4
scons platform=ios target=template_release arch=arm64 simulator=no -j4

При необходимости добавьте варианты симулятора. Выберите строку для архитектуры Mac; для обеих архитектур выполните обе пары:

Командная строка
scons platform=ios target=template_debug arch=arm64 simulator=yes -j4
scons platform=ios target=template_release arch=arm64 simulator=yes -j4
scons platform=ios target=template_debug arch=x86_64 simulator=yes -j4
scons platform=ios target=template_release arch=x86_64 simulator=yes -j4

-j4 задаёт четыре параллельные задачи; уменьшите число при нехватке памяти. Результат — статические библиотеки bin/libreckfell…a. Имя включает target, архитектуру, .simulator для симулятора и дополнительные суффиксы конфигурации. Это не .ipa и не исполняемый редактор.

Примеры выше собирают нативную часть без C#: модуль по умолчанию выключен. Для собственного C#-шаблона требуется module_mono_enabled=yes, но одного этого флага недостаточно: отдельно нужны совместимые managed-сборки и мобильная цепочка публикации/AOT. Не подставляйте Windows SDK в iOS-шаблон. Успешная нативная сборка не подтверждает запуск C#-игры на iOS.

Упаковка шаблона

Добавьте generate_bundle=yes к последней команде выбранной конфигурации, после сборки всех нужных вариантов. Например, для набора только с устройством:

Командная строка
scons platform=ios target=template_release arch=arm64 simulator=no generate_bundle=yes -j4

Упаковщик использует misc/dist/apple_embedded_xcode, собирает найденные библиотеки в libreckfell.ios.debug.xcframework и libreckfell.ios.release.xcframework, затем создаёт bin/reckfell_ios*.zip. Промежуточная папка bin/ios_xcode удаляется после архивации. Не храните в ней свои файлы. Отсутствующие варианты упаковщик не компилирует: наличие ZIP не доказывает полноту всех slices. Проверьте, что внутри есть непустая библиотека для каждого нужного target и назначения.

Для Vulkan требуется статическая MoltenVK.xcframework с устройством и симулятором; путь можно передать через vulkan_sdk_path. Упаковщик копирует MoltenVK, когда находит её, поэтому наличие ZIP само по себе не доказывает наличие этой зависимости. AccessKit также требует своей iOS .xcframework; при отсутствии зависимости конфигуратор отключает поддержку экранного диктора с предупреждением. Не игнорируйте эти предупреждения, если функция нужна проекту.

Если сборка не работает

СимптомЧто проверить
cstdint или системный framework не найденПолный Xcode, выбранный developer directory и SDK. Не удаляйте системные каталоги как первый способ исправления.
Swift compiler/interop errorВыбранный swiftc, поддержку Swift 6, SDK и первое сообщение компилятора. Наличие clang не заменяет Swift.
Библиотека собрана для другого назначенияПару simulator/SDK, архитектуру и выбранный slice .xcframework.
Игра не подписывается или не запускаетсяЭто следующий этап: Xcode-проект, signing и настройки экспорта. Сборка .a не проверяет их.

Эта инструкция сверена с build-скриптами. Сборка на macOS, запуск на iOS, подпись, экспорт C# и качество графики в рамках этой проверки не выполнялись.

Документация Reckfell EngineНаверх ↑
БЫСТРЫЙ ПЕРЕХОДНачало работыEntity и иерархияC# & .NET 10Сцены и префабы
Руководства и полный API Reckfell K
reckfellENGINE
RECKFELL ACCOUNT

Вход в аккаунт

Войдите в аккаунт Reckfell.

Один аккаунт для всей платформы Reckfell.