ios – 如何解决Cocoa触摸框架中的符号名称冲突

ios – 如何解决Cocoa触摸框架中的符号名称冲突,第1张

概述我开发了一个 Cocoa触摸框架,并且嵌入其中的第三方静态框架类存在问题. 当消费者项目使用我的框架并且还导入我的框架使用的第三方静态框架时,问题就是符号冲突. 我最终想从我的框架中删除这些类,因为它们与主机项目类(它们使用相同的第三方框架)冲突,并且以某种方式告诉我的框架依赖主要项目第三方框架(我将指示开发人员导入框架) 或者,我将为这些类添加一个前缀,以便在托管项目时嵌入我的框架,并使用与我自 我开发了一个 Cocoa触摸框架,并且嵌入其中的第三方静态框架类存在问题.

当消费者项目使用我的框架并且还导入我的框架使用的第三方静态框架时,问题就是符号冲突.

我最终想从我的框架中删除这些类,因为它们与主机项目类(它们使用相同的第三方框架)冲突,并且以某种方式告诉我的框架依赖主要项目第三方框架(我将指示开发人员导入框架)
或者,我将为这些类添加一个前缀,以便在托管项目时嵌入我的框架,并使用与我自己的框架相同的第三方框架,它不会得到符号冲突

任何帮助或方向将受到欢迎!

解决方法 CocoaPods可以帮助您解决重复符号的问题.
下面我提供了有关如何实现的详细说明:

定义
让我们给出一些更简单的解释的定义:
MyFramework – 您正在开发的框架.
MyApplication – 使用MyFramework的应用程序.
其他框架 – 在MyFramework和MyApplication中使用的第三方框架.

问题
据了解,问题是Xcode无法在OtherFramework中使用“重复的符号”错误进行构建.


以下是您需要满足以解决此问题的条件:

1)MyFramework必须参考CocoaPods的OtherFramework:

// MyFramework Podfileuse_frameworks!pod "OtherFramework"

2)MyApplication必须参考CocoaPods的OtherFramework:

// MyApplication Podfileuse_frameworks!pod "OtherFramework"

3)MyApplication可以使用任何机制来引用MyFramework(通过CocoaPods或者通过Drag& Drop框架来进行项目).

4)其他框架必须用CocoaPods构建.
如果它不是用CocoaPods构建的,你可以自己做.
为此,您需要创建OtherFramework.podspec并且可选地将其提交给CocoaPods私有存储库.没关系,如果你有源文件或只是OtherFramework.framework包.更多关于建筑CocoaPod here的细节.

总结

以上是内存溢出为你收集整理的ios – 如何解决Cocoa触摸框架中的符号名称冲突全部内容,希望文章能够帮你解决ios – 如何解决Cocoa触摸框架中的符号名称冲突所遇到的程序开发问题。

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

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

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

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

发表评论

登录后才能评论

评论列表(0条)

保存