xcframework制作

作者: Gavin_盖文 | 来源:发表于2021-01-06 21:59 被阅读0次

一、使用场景

编译一个framework出来,根据支持的平台和Debug、Release的不同它分为
Debug-iphonesimulator
Debug-iphoneos
Debug-maccatalyst
Release-iphonesimulator
Release-iphoneos
Release-maccatalyst
等情况。
当然了,我们正式环境下使用的都是Release。但如何同时支持多个平台呢?又或者怎么同时支持模拟器和真机调试呢?(第二个问题包含在第一个里,因为模拟器是i386和x86_64,真机是arm64和armv7,不同平台无非是处理器的指令集不一样嘛)

这时候需要合并,
会使用到xcodebuild -create-xcframework命令


二、说明

这个命令不是像lipo -create命令一样合并,而是通过plist文件来控制不同平台下加载不同的.framework。后面会截图展示目录结构。


三、使用

1.目的:

就是要解决开篇说道的问题。把指定库做成适合用在模拟器和真机上的库。

2.准备工作:

假设我们有一个库MyTools.framework。
把framework工程分别在模拟器和真机情况下build一遍。
Products -> Show in Finder 打开framework路径。

打开framework所在路径 这时候我们准备工作完成了

3.具体操作:

在终端查看用法

xcodebuild -create-xcframework -help
-help之后的输出结果
会发现xcodebuild -create-xcframework -framework <path> [-framework <path>...] -output <path>
用法一目了然了
xcodebuild -create-xcframework -framework <第一个库的路径> -framework <第二个库的路径> -output <输出路径/库名称.xcframework>

接下模拟正式情况用一下的使用:

xcodebuild -create-xcframework -framework /Users/admin/Library/Developer/Xcode/DerivedData/MyTools-ciyqnqacjemhpfbqswwhrlyvstsb/Build/Products/Release-iphoneos/MyTools.framework -framework /Users/admin/Library/Developer/Xcode/DerivedData/MyTools-ciyqnqacjemhpfbqswwhrlyvstsb/Build/Products/Release-iphonesimulator/MyTools.framework -output ~/Desktop/MyToolsOutput/MyTools.xcframework

// 成功后的日志
xcframework successfully written out to: /Users/admin/Desktop/MyToolsOutput/MyTools.xcframework

提示:
-framework <第一个库的路径> -framework <第二个库的路径> -framework <第三个库的路径> 可以多个看需求而定,合并几个平台的就写几个上去

最后

我们会拿到如下目录结构的xcframework文件


xcframework目录展示

xcframework的用法跟普通framework一样的。

相关文章

  • xcframework制作

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

  • XCFramework制作

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

  • XCFramework制作

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

  • xcframework生成与使用

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

  • 使用 Xcode 制作 Framework 与 XCFramew

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

  • iOS 关于 xcframework 的制作

    终端写入 1 以ijkPlayer 为例

  • flutterboost PlatformException(c

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

  • 动态库下(5)

    动态库下(5) XCFramework XCFramework: 是苹果官方推荐的, 支持的, 可以更方便的表示一...

  • iOS XCFramework

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

  • XCFramework

    前言 XCFramework:是苹果官方推荐的,支持的,可以更方便的表示一个多个平台结构的分发二进制的格式。需要X...

网友评论

    本文标题:xcframework制作

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