我正在尝试扩展TTTabBar
。当我的项目中有该库时,它工作得很好,但我想将其保留为一个 Pod(用于维护和版本管理)并根据需要扩展它。
从那时起,我就无法无错误地导入它。其他类似的答案(而且有很多!)没有帮助。
我的 Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
use_frameworks!
target 'Octoly' do
pod 'RealmSwift', '~> 0.98'
pod 'Mixpanel', '~> 2.9'
pod 'SwiftHTTP', '~> 1.0'
pod 'TTTabBar', '~> 1.1'
end
这是我尝试导入它的代码,您还可以看到我打开了工作区并安装了 TTTabBar
:
我尝试了很多事情:
- 清理/重建
- 删除 Pod 并重新安装
- 关闭/重新打开 XCode
- 将框架添加到我的build设置
- 前面步骤的组合
很高兴知道它适用于 RealmSwift
和 import TTTabBar
可以正常工作,但它不知道 TTTabBarItem
是什么TabBarItem 类:TTTabBarItem {}
。
请注意,我两天前就开始了 iOS 开发,因此可能有一些明显的东西我遗漏了。
最佳答案
您面临这些问题是因为您不应该导入TTTabBarItem
(您打算使用的类),而是导入整个库,在您的情况下import TTTabBar
。我认为链接器足够聪明,只包含您在代码中使用的引用文件。
所以,再次使用import TTTabBar
来代替。
更重要的是,该库的开发者犯了一个根本性的错误:
如果您查看源文件,您可以看到:
class TTTabBar: UIViewController { // rest of the code... }
他没有指定 public
访问修饰符,这基本上意味着您无法在库的内部目标之外访问它(您基本上只能在源项目/目标本身内引用它,即对于任何集成该库的开发人员来说都是无用的)。
不过你有一个选择:
由于库的大小,您可以继续将文件复制到您的项目中(如果您只是在后续 pod install
中使用 pod,那么您添加的任何修改都将始终被覆盖调用,因此您修改库的最初意图似乎也不是一个可行的选择)。
关于ios - 使用 CocoaPods 没有这样的模块 'TTTabBarItem',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35890052/