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

问题描述 投票:0回答:1

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

objective-c namespaces cocoapods collision
1个回答
0
投票

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

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

你前进的唯一方法是:

  • 重命名你的类,添加一个前缀(或不同的前缀)
  • 通过pull请求更改Cocoapods依赖项。
© www.soinside.com 2019 - 2024. All rights reserved.