Mac Catalyst xcframework 生成

2019-10-29  本文已影响0人  风儿吹啊吹
1、在 Build Settings ~> Build Library for Distribution 设为YES 。否则在生成 xcframework时 会报错“ No 'swiftinterface' files found within xx.swiftmodule ”
2、在Build Settings 搜索 Skip Install 并设置为NO。否则在归档的文件目录Products下会没有输出文件。
3、对项目进行归档,生成framework。可以直接在工程中选择对应的 scheme ,然后在 Product 中选择 Archive。或者用命令行处理。xcodebuild archive –help 查看更多使用
eg: 针对 Alamofire 归档,生成framework 
首先进入到Alamofire 项目目录下
模拟器:xcodebuild archive -workspace Alamofire.xcworkspace -scheme "Alamofire iOS" -sdk iphonesimulator -archivePath build/simulator
真机:xcodebuild archive -workspace Alamofire.xcworkspace -scheme "Alamofire iOS" –sdk iphoneos -archivePath build/iOS
MacCatalyst:xcodebuild archive -workspace Alamofire.xcworkspace -scheme "Alamofire iOS" -destination 'platform=macOS,arch=x86_64,variant=Mac Catalyst' -archivePath build/mac
Tips:

在归档MacCatalyst,生成framework文件时,-scheme 不应该选择“Alamofire macOS”,因为在生成xcframework导入到需要使用的工程中时,会报一下错误 “While building for Mac Catalyst, no library for this platform was found in 'Alamofire.xcframework'.” 没有支持Mac Catalyst的 库。

4、通过命令行生成xcframework文件。

xcodebuild -create-xcframework –output (xcframework名字) –framework (framework路径) –framework (framework路径)。

eg:针对Alamofire 生成 xcframework
xcodebuild –create-xcframework -output Alamofire.xcframework –framework Alamofire项目目录/Alamofire/build/iOS.xcarchive/Products/Library/Frameworks/Alamofire.framework –framework Alamofire项目目录/Alamofire/build/mac.xcarchive/Products/Library/Frameworks/Alamofire.framework 
-framework Alamofire项目目录/Alamofire/build/simulator.xcarchive/Products/Library/Frameworks/Alamofire.framework 

然后就可以在 Alamofire项目目录下看到Alamofire.xcframework 文件了

上一篇 下一篇

猜你喜欢

热点阅读