В xcode нет способа включить их в зависимости от архитектуры, но Apple представила 2019 XCFrameworks в качестве нового формата распространения кода.
Из XCode 11 примечания к выпуску :
XCFramework позволяет объединить бинарный каркас или библиотеку для нескольких платформ - включая устройства iOS, iOS, симуляторы и Ma c Catalyst - в один распространяемый пакет .xcframework, который ваши разработчики могут используйте в своих собственных приложениях.
Вы можете использовать это, чтобы объединить обе эти платформы в одну, добавить их в свои проекты, и XCode использует версию соответствующей платформы включенной платформы или библиотеки во время сборки.
Вы можете создать XCFramework из терминала, используя следующую команду:
xcodebuild -create-xcframework -framework PATH_TO_FRAMEWORK1 -framework PATH_TO_FRAMEWORK2 -output PATH_TO_BUNDLED_FRAMEWORK
Где PATH_TO_FRAMEWORK1
и PATH_TO_FRAMEWORK2
- пути к вашим фреймворкам, а PATH_TO_BUNDLED_FRAMEWORK
- путь к результирующее XCFramework.
Если вы находитесь в директории вашего проекта, команда может выглядеть так:
xcodebuild -create-xcframework -framework device_frameworks/CustomLib.framework -framework simulator_frameworks/CustomLib.framework -output BundledCustomLib.xcframework
Тогда вам нужно всего лишь добавить BundledCustomLib.xcframework
в ваш проект.