Использование `xcodebuild` для сборки командной строки для Catalyst/UIKit для Mac?

Я не могу увидеть это нигде в документации - кто-нибудь придумал, как использовать xcodebuild для создания проекта для UIKIt для Mac (то есть Catalyst)?

Вы можете указать "-sdk iphoneos" против "-sdk iphonesimulator" для переключения между этими двумя целями, но "-sdk uikitformac", похоже, не работает ("SDK не найден"), несмотря на то, что сам Xcode использует эту номенклатуру (например, он сборка в папку "Debug-uikitformac" и т. д.). я также пробовал разные значения SDK, которые могли бы иметь смысл (например, "-sdk macabi"), но безрезультатно.

Предложения?

2 ответа

Решение

Я использовал это для создания XCFramework, который включает в себя платформу Mac Catalyst

XCFramework и Mac Catalyst

Добавьте файл скрипта в папку ваших проектов:

SCHEME=TestFramework \
ARCHS=~/Documents/Archives \

SCHEME это имя схемы сборки в Xcode.

Давайте соберем архив MacCatalyst:

#----- Make macCatalyst archive
xcodebuild archive \
-scheme $SCHEME \
-archivePath $ARCHS/macCatalyst.xcarchive \
-sdk macosx \
SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES SUPPORTS_MACCATALYST=YES

Также вы можете добавить другие платформы, такие как iOS-устройство или Симулятор:

#----- Make iOS Simulator archive
xcodebuild archive \
-scheme $SCHEME \
-archivePath $ARCHS/simulator.xcarchive \
-sdk iphonesimulator \
SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

#----- Make iOS device archive
xcodebuild archive \
-scheme $SCHEME \
-archivePath $ARCHS/iosdevice.xcarchive \
-sdk iphoneos \
SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES

Чтобы включить все в использование XCFramework:

#----- Make XCFramework
xcodebuild -create-xcframework \
-framework $ARCHS/simulator.xcarchive/Products/Library/Frameworks/$SCHEME.framework \
-framework $ARCHS/iosdevice.xcarchive/Products/Library/Frameworks/$SCHEME.framework \
-framework $ARCHS/macCatalyst.xcarchive/Products/Library/Frameworks/$SCHEME.framework \
-output ~/Documents/$SCHEME.xcframework

После запуска вы найдете XCFramework в папке "Документы".

Пытаться xcodebuild -configuration "Debug" ARCHS="x86_64h" -destination 'platform=macOS,variant=Mac Catalyst' -project "MyApp.xcodeproj" (обратите внимание на лишнюю букву h на архитектуре)

Другие вопросы по тегам