5

これはどこにも文書化されていません — xcodebuild を使用して Mac (つまり Catalyst) 用の UIKIt 用のプロジェクトをビルドする方法を理解した人はいますか?

「-sdk iphoneos」と「-sdk iphonesimulator」を指定して、これら 2 つのターゲットを切り替えることができますが、「-sdk uikitformac」は機能しないようです (「SDK が見つかりません」)。 「Debug-uikitformac」フォルダーなどにビルドされます)。意味のあるさまざまな SDK 値 (「-sdk macabi」など) も試しましたが、役に立ちませんでした。

提案?

4

3 に答える 3

17

スクリプト ファイルをプロジェクト フォルダーに追加します。

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

SCHEMEXcode でのビルド スキームの名前です。

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

実行すると、Documents フォルダーに XCFramework が見つかります。

于 2019-08-07T21:21:53.830 に答える
2

これを使用して、Mac Catalyst フレームワークを含む XCFramework を構築しました。

XCFramework と Mac Catalyst

于 2019-07-30T09:14:36.663 に答える