目标C:通过cocoapod在我的应用程序中添加框架时发生名称冲突

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了目标C:通过cocoapod在我的应用程序中添加框架时发生名称冲突相关的知识,希望对你有一定的参考价值。

目标C:我已经通过Cocoapod在我的ios应用程序中添加了一个框架。这个框架有很少的接口,文件名(.h .m)和xib文件与我在我的应用程序中使用的名称相同(即名称冲突)。我能够成功构建我的应用程序(即没有名称冲突错误),但我面临运行时问题,如框架的xib文件(nib)链接到我的应用程序的.h和.m文件。 我认为app的类名优先于框架类。我该如何处理这个问题?

答案

没有简单的方法可以解决这个问题。当CocoaPods用于构建静态库时,在链接过程中所有类和符号都连接到主二进制文件中。

这就是为什么Apple建议所有SDK和项目使用至少3个字符的类前缀(如ABCMyClass),Apple为自己保留所有两个字母前缀。许多人不遵守这些规则,它可能会导致这个问题。

你前进的唯一方法是:

  • 重命名你的类,添加一个前缀(或不同的前缀)
  • 通过pull请求更改Cocoapods依赖项。

以上是关于目标C:通过cocoapod在我的应用程序中添加框架时发生名称冲突的主要内容,如果未能解决你的问题,请参考以下文章

如何在我的 podfile 中为我的 Xcode 项目指定多个目标?

Cocoapods pod 创建目标并在使用时更改 Xcode 中的目标

带有可可豆荚的 GHUnit

Cocoapods podfile 目标仅向测试添加框架

在 iOS Objective C 中添加 Cloudinary Pod

使用 cocoapods 时未通过桥接头找到 Flurry.h