使用 `xcodebuild` 为 Catalyst/UIKit 为 Mac 执行命令行构建?
Using `xcodebuild` to do a command line builds for Catalyst/UIKit for Mac?
我在任何地方都看不到这个文档——有没有人想出我们如何使用 xcodebuild 为 Mac(即 Catalyst)构建 UIKIt 项目?
您可以指定“-sdk iphoneos”与“-sdk iphonesimulator”以在这两个目标之间切换,但“-sdk uikitformac”似乎不起作用 ("SDK not found"),尽管 Xcode 本身使用该命名法(例如,它构建到 "Debug-uikitformac" 文件夹等)。我还尝试了可能有意义的不同 SDK 值(例如“-sdk macabi”),但无济于事。
建议?
我用它构建了一个包含 Mac Catalyst 框架的 XCFramework
将脚本文件添加到您的项目文件夹:
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')
我在任何地方都看不到这个文档——有没有人想出我们如何使用 xcodebuild 为 Mac(即 Catalyst)构建 UIKIt 项目?
您可以指定“-sdk iphoneos”与“-sdk iphonesimulator”以在这两个目标之间切换,但“-sdk uikitformac”似乎不起作用 ("SDK not found"),尽管 Xcode 本身使用该命名法(例如,它构建到 "Debug-uikitformac" 文件夹等)。我还尝试了可能有意义的不同 SDK 值(例如“-sdk macabi”),但无济于事。
建议?
我用它构建了一个包含 Mac Catalyst 框架的 XCFramework
将脚本文件添加到您的项目文件夹:
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')