美文网首页iOS进阶之路
iOS App合并快速解决命名冲突

iOS App合并快速解决命名冲突

作者: RingKun | 来源:发表于2018-01-23 16:39 被阅读0次

声明:以下操作都只针对古老的Object-C项目,swift项目有命名空间。

之前有朋友遇到需要合成两个APP,由于项目太大,需要解决命名冲突,而且时间不够,于是给提供了一个快速解决冲突的方法:动态库。

做法:
1、保留宿主app,将另一个app做成动态库,暴露唯一入口。
2、检查NSClassFrom、将反射引用替换成直接引用,一般不会太多。
3、处理图片冲突,建议用bundle包,宏定义子app的 "UIimage imageNamed:"方法即可。

注意:
1、 系统会提示 Class "xxxxx" is implemented in both "xxxxx"、"xxxxx",直接忽视,这是说明 xxxxx 这个类在两个执行文件里面都存在,但我们在编译的时候已经确定了使用哪一个class(#import "xxxxx" 导入的),所以不会有问题。
2、app内的执行文件都加在完成后会把所有的执行文件中的类注册到一张表中,所以通过反射会导致同名class选用出现混乱,也就有了步骤2的操作。

最后奉上代码:https://github.com/ChuckonYin/combine-apps

相关文章

  • iOS App合并快速解决命名冲突

    声明:以下操作都只针对古老的Object-C项目,swift项目有命名空间。 之前有朋友遇到需要合成两个APP,由...

  • (4.2) git分支管理-解决冲突

    小结 当Git无法自动合并分支时,就必须首先解决冲突。解决冲突后,再提交,合并完成。 解决冲突就是把Git合并失败...

  • (二)

    转自:Android Studio、Git 解决合并冲突Android Studio、Git 解决合并冲突Andr...

  • project.pbxproj 文件格式损坏

    1 合并代码时,project.pbxproj 有冲突,解决冲突即可。2 合并时,project.pbxpro...

  • 图解Git合并--Merge和Rebase

    项目初始情况 Merge fast-forward 快速合并,直接把指针指向前去,无冲突要解决。 非 fast-f...

  • iOS三方静态库符号冲突的原因以及解决方案

    动态库由于二级命名空间,不会符号冲突 静态库是.o文件的合集,最终生成macho需要链接 ,被主app项目符号合并...

  • git/svn/gradle配置签名文件/Android性能优化

    一.git、svn1)冲突怎么解决? 答:在开发的时候,冲突一般分为两种,上传冲突 与 合并冲突, 合并冲突的解...

  • Git分支

    分支简介 分支创建 分支切换 分支新建与合并 新建分支 分支的合并 分支删除 遇到冲突时的分支合并 解决冲突之后,...

  • Git高级合并

    高级合并 我们在遇到冲突时的分支合并介绍了解决合并冲突的一些基础知识, 对于更复杂的冲突,Git 提供了几个工具来...

  • SVN 常用命令

    创建新分支 checkout 已有分支 合并chunk 代码到分支上 冲突解决 手动解决冲突后,执行

网友评论

    本文标题:iOS App合并快速解决命名冲突

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