SOP TRTC SDK 仪表盘 Android TRTC 发送自定义采集的视频数据 Android TRTC 发送自定义采集音频解决方案 Android TRTC 实现横屏视频通话 iOS端 TRTC 发送自定义采集视频解决方案 iOS端 TRTC 发送自定义采集音频解决方案 APNS推送 脏字过滤 TXLiteAVSDK中使用 AVAudioSession 问题总结 AndroidStudio编译SDK报错 RoomService部署验证 Xcode编译SDK报错 iOS编译库冲突问题 iOS端移动直播自定义采集实现 iOS端TXLiteAVSDK与IMSDK 3.x集成冲突报错问题 Android端TXLiteAVSDK与IMSDK 3.x集成冲突报错问题 Android端LiteIM sdk升级IM4.x版本报错问题 移动直播iOS 12兼容问题 如何实现好的画质 如何计算PCM音量大小 使用播放器播放视频有黑边 直播拉流播放失败 直播拉流端卡顿现象 短视频上传失败 移动直播SDK对接第三方美颜库 移动直播连麦解决方案 Android移动直播推自定义采集的视频数据 Android移动直播推自定义采集的声音数据 Android直播播放如何获取YUV数据 Android直播播放如何自定义渲染 实时音视频画面黑屏 实时音视频订阅流显示 iOS 12默认新编译系统下文件名冲突问题 TXLiteAVSDK指标监控 进阶:小程序实时音视频参数透传 移动直播 Android 9.0 无法拉流问题 移动直播推流事件回调 移动直播拉流事件回调 短视频实现视频缩略图列表转GIF功能 roomService加入群组时报错invalid group id NTP时间戳转换 提示Role not exists 角色不存在 如何播放背景音乐 iOS端短视频添音频相关问题总结 Web同步终端离线推送TIMOfflinePushInfo说明文档 web端自定义消息发送 web端同步终端的已读回执 web端对群组内用户禁言操作 TRTC v2混流接口setMixTranscodingConfig使用指引

iOS端TXLiteAVSDK与其它三方库冲突报错问题

发布日期:2018年9月10日 更新日期:2018年9月10日 贡献者:zilongye

问题场景

iOS 端在集成腾讯云视频服务客户端音视频SDK时,与开发者自己工程中的第三方库冲突,导致编译报错。

解决方法

场景1

编译报dumplicate symbols错误。

解决办法

一般是因为 other linker flags 设置了-all_load,去掉这个,只需要设置-ObjC

场景2

ffmpeg 和 ijk 相关冲突。

解决办法

全功能专业版和独立播放器版、企业版等版本中都包含有 ffmpeg 和 ijkplayer,如果您的项目中已经包含相关开源库,推荐使用 精简版符号重命名版

场景3

工程里面与 TXLiteAVSDK 内部引用的库重复。

解决办法

直接删除本地工程里面重复的库文件。

场景4

工程里面三方库与TXLiteAVSDK有相同的.o文件。

解决办法

这种情况发生在不能直接删除对应的三方库场景,那么可以删除这个三方库里面冲突的.o文件然后重新打包,就不会冲突了。

命令行: lipo -info libexample.a

如提示fat file,代表这个包是支持多平台的,需要逐一解包然后重打包。

例如:Architectures in the fat file: libexample.a are: i386 armv7 armv7s x86_64 arm64

那么我们需要重复5次以下步骤。

解包、打包步骤:

  1. 创建临时文件夹,用于存放解压后的.o文件,如i386:mkdir i386
  2. 取出i386平台的包:lipo libexample.a -thin i386 -output i386/ libexample-i386.a
  3. 查看库中所包含的文件列表:cd i386 && ar -t libexample-i386.a
  4. 解压出 object file(.o后缀文件):ar xv libexample-i386.a
  5. 找到要删除的包(someframework.o)删掉:rm someframework.o
  6. 重新打包object file:cd .. && ar rcs libexample-i386.a i386/*.o,可再次输入[2-5]中的命令检验是否删除成功
  7. 将其他几个平台包逐一做上述[1-6]操作
  8. 重新合并为fat file的.a文件:lipo -create libexample-armv7.a libexample-armv7s.a libexample-i386.a -output libexample-new.a

原理

lipo是管理Fat File的工具, 可以查看cpu架构, 提取特定架构,整合和拆分库文件。

  • lipo -info xxxx.framework 查看信息
  • lipo -create xxxx xxxx -output xxxx 整合成Fat文件
  • lipo xxxx -thin cpu(armv7/arm64等) -output xxxx 提取特定的cpu架构的thin文件
  • lipo -remove cpu(armv7/arm64等) xxxx -output xxxx 移除掉特定的cpu架构的文件

results matching ""

    No results matching ""