我正在尝试扩展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
ios - 没有使用CocoaPods的模块'TTTabBarItem'-LMLPHP

我尝试了很多事情:


清理/重建
卸下吊舱并重新安装
关闭/重新打开XCode
将框架添加到我的建筑设置中
先前步骤的组合


这是我添加TTTabBar的Binaries链接:
ios - 没有使用CocoaPods的模块'TTTabBarItem'-LMLPHP

很高兴知道它对于RealmSwift可以正常工作,并且import TTTabBar可以正常工作,但是随后它不知道TTTabBarItem中的class TabBarItem: TTTabBarItem {}
ios - 没有使用CocoaPods的模块'TTTabBarItem'-LMLPHP

请注意,我两天前就开始进行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/

10-14 20:00
查看更多