我在任何地方都看不到这个记录 - 有没有人想过如何使用xcodebuild为UIKIt for Mac(即Catalyst(构建一个propject?
您可以指定"-sdk iphoneos"与"-sdk iphonesimulator"在这两个目标之间切换,但是"-sdk uikitformac"似乎不起作用("找不到SDK"(,尽管Xcode本身使用该命名法(例如,它构建到"Debug-uikitformac"文件夹等(。 我还尝试了可能有意义的不同SDK值(例如"-sdk macabi"(,但无济于事。
建议?
将脚本文件添加到项目文件夹:
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"(
我用它来构建一个包含Mac Catalyst框架的XCFramework
。XCFramework 和 Mac Catalyst