开发者社区> 问答> 正文

Xcode-使用MobileVLCKit时如何修复此重复符号错误

我使用两个框架-MobileVLCKit和TTXSDK(https://github.com/tongtianxing/ios_cmsv6demo) 用于在我的项目中播放H 264流,这会导致生成项目时出现重复符号错误。我需要使用这两种框架。请建议解决重复符号错误的方法。

展开
收起
游客5akardh5cojhg 2019-12-15 16:38:58 11993 0
1 条回答
写回答
取消 提交回答
  • lipo是管理Fat File的工具, 可以查看平台列表, 提取特定平台, 重新打包。

    nm nm用来显示一个程序包的符号表, 默认会显示入口地址, 符号类型, 符号名。

    strip strip用来删除程序里的符号表。-R 用来指定一个要删除的符号列表, 使用上述生成的symbols文件.。添加 -S 选项来保留其他符号。

    ar ar可以查看一个程序包里的对象文件列表, 解压出其中的对象文件并重新打包。

    ld ld苹果系统下的链接器, 可以更精确的控制符号表的导出。

    具体步骤 因为担心修改MobileVLCKit对已上线的视频播放造成不可估计的影响,因此,此次修改MAMapKit,出现任何bug也可以尽快发现并解决。 下面将进行十分小白式的记录(PS:主要是我太小白了。)

    cd path(framework的路径) lipo -info MAMapKit

    lipo info MAMapKit 查看MAMapKit的适用平台,可以发现arm7,i386,x86_64,arm64均可用。并且前面bug只是存在于x86_64平台上,那么就先修改这个平台的内容。

    lipo -thin x86_64 MAMapKit -output MAMapKit.x86_64 文件瘦身,提取x86_64平台的MAMapKit到新的文件MAMapKit.x86_64,发现该文件只有3M而已(源文件20.2M),该文件位置与MAMapKit相同,发现确实单个平台的文件比较小。

    2021-02-26 17:12:14
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载