iOS   发布时间:2022-05-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了iOS库/框架,如何从构建产品中排除特定的类?大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。

概述

我正在尝试构建一个iOS库/框架,为了简单起见,我们会说将一些A类公开给使用它的项目.现在的问题是A类依赖于B类,而B类并不打算在库的构建输出中公开(或者甚至包含在符号中).这会导致问题,因为还有另一个带有C类的库,它也恰好依赖于B类. 如果我尝试在项目中包含两个库,那么会发生什么事情,链接器抱怨有多个B类定义. 解决此问题的最佳方法是什么?在构建两个库(或两个库中的至少一个库)时,是否可以将类B
我正在尝试构建一个iOS库/框架,为了简单起见,我们会说将一些A类公开给使用它的项目.现在的问题是A类依赖于B类,而B类并不打算在库的构建输出中公开(或者甚至包含在符号中).这会导致问题,因为还有另一个带有C类的库,它也恰好依赖于B类.

如果我尝试在项目中包含两个库,那么会发生什么事情,链接器抱怨有多个B类定义.

解决此问题的最佳方法是什么?在构建两个库(或两个库中的至少一个库)时,是否可以将类B设置为弱链接,如果是,如何?

或者应该将B类提取到自己的库/框架中,并修改两个库以引用它而不是将B类作为源文件包含在内?

解决方法

我认为最好的方法是在项目中制作多个目标.最简单的方法是在XCode左侧的文件列表中单击项目文件,右键单击中间窗格中“TARGETS”下的对象,然后选择Duplicate.然后,您可以在一个目标中包含A和C,在另一个目标中包含B和C.你可以单独编译它们,它基本上就像有两个项目,除了它们共享公共文件.这听起来像你想要的吗?

编辑第二个想法,它听起来不像.当您编译到库,然后将另一个项目链接到它时,您的问题正在发生,对吧?

似乎没有办法在编译库中包含弱链接对象.您可能最好将它们拆分为单独的库(这类似于this page底部描述的场景)

大佬总结

以上是大佬教程为你收集整理的iOS库/框架,如何从构建产品中排除特定的类?全部内容,希望文章能够帮你解决iOS库/框架,如何从构建产品中排除特定的类?所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。