美文网首页ios 开发之没事来看看
把framework 转 为xcframework

把framework 转 为xcframework

作者: 等这姑娘老在我心里 | 来源:发表于2021-04-13 20:43 被阅读0次

1. 先分别看下两个的结构

0x01 framework

framework

0x02 xcframework

xcframework

2. 指令集

0x01 framework

➜  WebRTC.framework ls
Headers    Info.plist LICENSE.md Modules    WebRTC
➜  WebRTC.framework lipo -info WebRTC
Architectures in the fat file: WebRTC are: x86_64 i386 armv7 arm64

0x02 xcframework

➜  WebRTC.xcframework ls
Info.plist           ios-arm64_armv7      ios-x86_64-simulator
➜  WebRTC.xcframework lipo -info ios-arm64_armv7/WebRTC.framework/WebRTC
Architectures in the fat file: ios-arm64_armv7/WebRTC.framework/WebRTC are: armv7 arm64
➜  WebRTC.xcframework lipo -info ios-x86_64-simulator/WebRTC.framework/WebRTC
Architectures in the fat file: ios-x86_64-simulator/WebRTC.framework/WebRTC are: x86_64

3. 把framework 转为xcframework

原理: 先把指令集拆分,再合成

1. 拆分指令集

#  先把framrwork 拷贝到两个文件夹下边
#  我这里只需要armv7 arm64 x86_64
mkdir iphoneos iphonesimulator
➜  combineSDKDir ls
WebRTC.framework iphoneos         iphonesimulator
➜  combineSDKDir cp -R WebRTC.framework  iphoneos
➜  combineSDKDir cp -R WebRTC.framework  iphonesimulator
# 我们把 iphoneos 中的模拟器 指令集删除
➜  combineSDKDir lipo -remove i386 -remove x86_64 iphoneos/WebRTC.framework/WebRTC -o iphoneos/WebRTC.framework/WebRTC
➜  combineSDKDir lipo -info iphoneos/WebRTC.framework/WebRTC
Architectures in the fat file: iphoneos/WebRTC.framework/WebRTC are: armv7 arm64
# 再把 iphonesimulator 中的除模拟器之外的指令集删除
➜  combineSDKDir lipo -remove i386 -remove armv7 -remove arm64 iphonesimulator/WebRTC.framework/WebRTC -o iphonesimulator/WebRTC.framework/WebRTC
➜  combineSDKDir lipo -info iphonesimulator/WebRTC.framework/WebRTC
Architectures in the fat file: iphonesimulator/WebRTC.framework/WebRTC are: x86_64

2. 合成xcframework

# 使用xcodebuild 进行合成
➜  combineSDKDir xcodebuild -create-xcframework \
 -framework iphoneos/WebRTC.framework \
 -framework iphonesimulator/WebRTC.framework \
 -output "WebRTC.xcframework"
xcframework successfully written out to: /Users/jr/Documents/temp/combineSDKDir/WebRTC.xcframework

3.这样子就生成好了

image.png

相关文章

网友评论

    本文标题:把framework 转 为xcframework

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