美文网首页
iOS XCFramework 制作

iOS XCFramework 制作

作者: CoderLGL | 来源:发表于2023-07-10 14:59 被阅读0次

注意:文中的LGL为测试用framework项目名,要替换成你自己的项目名称。

XCFramework简介

XCFramework:是苹果官⽅推荐的、⽀持的,可以更⽅便的表示⼀个多个平台和架构的分发⼆进制库的格式。需要Xcode11以上⽀持。是为更好的⽀持Mac Catalyst(用于 iPad)和ARM芯⽚的macOS。专⻔在2019年提出的framework的另⼀种先进格式。

XCFramework和传统的framework相⽐的三个优点:

  • 可以⽤单个.xcframework⽂件提供多个平台的分发⼆进制⽂件;

  • 与Fat Header相⽐,可以按照平台划分,可以包含相同架构的不同平台的⽂件;

  • 在使⽤时,不需要再通过脚本去剥离不需要的架构体系。

XCFramework 生成

1. 创建Framework项目

如图:

image-20230711113053798.png image-20230711142851337.png image-20230711143146310.png

2. 通过xcodebuild archive命令编译打包成真机和模拟器架构

cd进入LGL的项目,终端执行这两段代码(注意Test替换成你的项目名称)。

xcodebuild archive -project 'Test.xcodeproj' \
-scheme 'Test' \
-configuration Release \
-destination 'generic/platform=iOS Simulator' \
-archivePath '../archives/Test.framework-iphonesimulator.xcarchive' \
SKIP_INSTALL=NO

xcodebuild archive -project 'Test.xcodeproj' \
-scheme 'Test' \
-configuration Release \
-destination 'generic/platform=iOS' \
-archivePath '../archives/Test.framework-iphoneos.xcarchive' \
SKIP_INSTALL=NO
  • xcodebuild: 在Xcode中实际使用的命令。
  • archive: 打包。
  • project: 工程名。
  • scheme: 选择 scheme。
  • configuration: 哪种环境下。
  • destination: 要分发的平台,模拟器:iOS Simulator,真机:iOS。
  • archivePath: 压缩之后,存放的路径。
  • SKIP_INSTALL=NO:如果设置为YES,则不会将生成的framwork文件存放在Products目录下。

3. 合并真机和模拟器的framework 生成.xcframework

cd进入刚才生成的archives文件,终端执行下面命令

xcodebuild -create-xcframework \
-framework '../archives/Test.framework-iphoneos.xcarchive/Products/Library/Frameworks/Test.framework' \
-framework '../archives/Test.framework-iphonesimulator.xcarchive/Products/Library/Frameworks/Test.framework' \
-output 'Test.xcframework'
  • xcodebuild -create-xcframework: 创建 xcframework;
  • -framework:要合并的framework地址(一个真机一个模拟器);
  • -output:输出 xcframework。

制作完成

将制作好的xcframework拖入并使用,导入头文件即可#import <Test/Test.h>

相关文章

  • flutterboost PlatformException(c

    iOS混编flutter项目原因。flutter导出的xcframework。有高德地图.xcframework。...

  • iOS 关于 xcframework 的制作

    终端写入 1 以ijkPlayer 为例

  • xcframework制作

    一、使用场景 编译一个framework出来,根据支持的平台和Debug、Release的不同它分为Debug-i...

  • XCFramework制作

    XCFramework XCFramework是苹果官方推荐的、支持的,可以更方便的表示一个多个平台和架构的分发二...

  • XCFramework制作

    Xcode13制作纯swift写的framework时,引用到oc项目时,一只报无法引用头文件错误,改变策略制作x...

  • iOS:XCFramework

    1.XCFramework XCFramework:是苹果官方推荐的,支持的,可以更方便的表示一个多个平台结构的分...

  • iOS XCFramework

    XCFramework XCFramework是苹果官方2019年提出的Framework的另一种先进格式,可以更...

  • iOS 创建xcFramework

    1.xcodebuild -create-xcframework -help 2.xcodebuild -crea...

  • xcframework生成与使用

    xcframework生成与使用 1、XCFramework定义? XCFramework:是苹果官⽅推荐的、⽀持...

  • 使用 Xcode 制作 Framework 与 XCFramew

    使用 Xcode 制作 Framework 与 XCFramework 最近公司有个项目外包,我就负责提供离在线语...

网友评论

      本文标题:iOS XCFramework 制作

      本文链接:https://www.haomeiwen.com/subject/obbeudtx.html