我正在尝试扩展TTTabBar
。当我在项目中包含lib时,它可以正常工作,但我想将其保留为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
:我尝试了很多事情:
清理/重建
卸下吊舱并重新安装
关闭/重新打开XCode
将框架添加到我的建筑设置中
先前步骤的组合
这是我添加TTTabBar的Binaries链接:
很高兴知道它对于
RealmSwift
可以正常工作,并且import TTTabBar
可以正常工作,但是随后它不知道TTTabBarItem
中的class 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/