我在任何地方都看不到该文档的记录-有没有其他人知道我们如何使用xcodebuild为Mac的UIKIt(即Catalyst)构建项目?
您可以指定“ -sdk iphoneos”与“ -sdk iphonesimulator”在这两个目标之间进行切换,但是,尽管Xcode本身使用该命名法,但“ -sdk uikitformac”似乎不起作用(“找不到SDK”)。例如,它将构建到“ Debug-uikitformac”文件夹中,等等)。我还尝试了可能有意义的其他SDK值(例如“ -sdk macabi”),但无济于事。
建议?
答案 0 :(得分:5)
将脚本文件添加到您的项目文件夹:
use nqp;
my @sorted = dir($*CWD).sort({ nqp::stat($_.Str, nqp::const::STAT_CREATETIME) });
SCHEME=TestFramework \
ARCHS=~/Documents/Archives \
是Xcode中构建方案的名称。
让我们构建macCatalyst存档:
SCHEME
您还可以添加其他平台,例如iOS设备或模拟器:
#----- Make macCatalyst archive
xcodebuild archive \
-scheme $SCHEME \
-archivePath $ARCHS/macCatalyst.xcarchive \
-sdk macosx \
SKIP_INSTALL=NO BUILD_LIBRARIES_FOR_DISTRIBUTION=YES SUPPORTS_MACCATALYST=YES
要在XCFramework中包含所有内容,请使用:
#----- 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
运行后,您将在Documents文件夹中找到XCFramework。
答案 1 :(得分:2)
我用它来构建一个包含Mac Catalyst框架的XCFramework
答案 2 :(得分:1)
尝试xcodebuild -configuration "Debug" ARCHS="x86_64h" -destination 'platform=macOS,variant=Mac Catalyst' -project "MyApp.xcodeproj"
(请注意架构上的额外“ h”)