Использование `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
Добавьте файл скрипта в папку ваших проектов:
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 на архитектуре)