gpt4 book ai didi

ios - 如何解决 Cocoa touch 框架中的符号名称冲突

转载 作者:IT王子 更新时间:2023-10-29 05:21:21 25 4
gpt4 key购买 nike

我开发了一个 Cocoa 触控框架,但在使用嵌入其中的第三方静态框架类时遇到了问题。

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

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

我们欢迎任何帮助或指导!

最佳答案

CocoaPods可以帮助您解决重复符号的问题。
下面我详细解释了如何实现它:

定义
为了更简单的解释,让我们做一些定义:
MyFramework - 您正在开发的框架。
MyApplication - 使用 MyFramework 的应用程序。
OtherFramework - 在 MyFrameworkMyApplication 中使用的第三方框架。

问题
据我了解,问题是 Xcode 无法在 OtherFramework 中构建“重复符号”错误。

解决方案
以下是解决该问题需要满足的条件:

1) MyFramework 必须引用 CocoaPods 的 OtherFramework:

// MyFramework Podfile
use_frameworks!
pod "OtherFramework"

2) MyApplication 必须引用 CocoaPods 的 OtherFramework:

// MyApplication Podfile
use_frameworks!
pod "OtherFramework"

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

4) OtherFramework 必须使用 CocoaPods 构建。
如果尚未使用 CocoaPods 构建,您可以自己构建。
为此,您需要创建 OtherFramework.podspec 并可选择将其提交到 CocoaPods 私有(private)存储库。您是否有源文件或只有 OtherFramework.framework 包并不重要。有关构建 CocoaPod 的更多详细信息 here .

关于ios - 如何解决 Cocoa touch 框架中的符号名称冲突,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31781301/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com