iOS库框架,如何从构建产品中排除特定的类?

iOS库框架,如何从构建产品中排除特定的类?,第1张

概述我正在尝试构建一个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库/框架,如何从构建产品中排除特定的类?所遇到的程序开发问题。

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

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/1006516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-05-22
下一篇 2022-05-22

发表评论

登录后才能评论

评论列表(0条)

保存