最近开发app的时候需要增加直播模块,于是想到了强大的ijkplayer,于是想着在项目中集成ijk模块,将集成过程以及遇到的问题记录一下。
首先从github上下载ijkplayer,链接:
使用lipo -create 真机 模拟器 -output 合并后的路径 命令可以将两个库合并成一个支持模拟器和真机i386 x86_64 armv7 arm64四种架构的库。
lipo -create /Users/limuyi/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-hcsbbhekfetrssebqvgfnsjfrgxl/Build/Products/Release-iphoneos/IJKMediaFramework.framework/IJKMediaFramework /Users/limuyi/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-hcsbbhekfetrssebqvgfnsjfrgxl/Build/Products/Release-iphonesimulator/IJKMediaFramework.framework/IJKMediaFramework -output /Users/limuyi/Library/Developer/Xcode/DerivedData/IJKMediaPlayer-hcsbbhekfetrssebqvgfnsjfrgxl/Build/Products/IJKMediaFramework
XCode12编译的模拟器静态库也支持了arm64,导致出现真机库和模拟器库不能合并的问题。
lipo -info 模拟器静态库路径 查看支持什么架构。
Build Settings -> Excluded Architectures里按照这样设置一下,再编译合并就不会报错了。