导入CocoaPods框架时出现“使用未声明的类型XX”错误

时间:2017-11-11 13:13:56

标签: ios xcode cocoapods

请查看下图。

Xcode确实通过点击command并按下control按钮找到了源文件 但令人讨厌的是Xcode继续抱怨use of undeclared type 这是我刚刚发布的第一个CocoaPods项目,但我没能使用文件中定义的类。我不确定我是否在CocoaPods设置中做错了。

我尝试过以下方法 1.清理并关闭Xcode,然后重建项目......失败 2.直接运行项目......失败 3.删除~/Library/Developer/Xcode/DerivedData/中的所有文件,清理并重新打开Xcode,然后构建...失败。

上面的方法总能帮我解决使用Cocoapods时的问题,但这次显然不是。

随意提出任何建议 如果您需要测试,请使用以下Podfile。 感谢。

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target ‘PopoverMuneTest’ do
    pod 'JSPopoverMenu', '~> 1.0.1' 
end

podspec

修改
这两个文件与上面的GIF相同。它显示错误消息,Xcode通过在错误仍然存​​在时按下命令和控制按钮单击类名来查找源文件。 pic1 pic2

修改
如果您想自己检查错误,请在CocoaPods安装JSPopoverMenuView后将以下代码添加到视图控制器。

class ViewController: UIViewControler {
      var menu: JSPopoverMenuView!
      var baseView: UIView { return view }
      override func viewDidLoad() {
          super.viewDidLoad()
          menu = JSPopoverMenuView(height: 120, data: ["aaa", "aaa", "aaa"])
          menu.delegate = self
      }
}
extension ViewController: JSPopoverMenuViewDelegate {
    func popoverMenu(_ popoverMenu: JSPopoverMenuView, newTag value: String) {
        print(value)
    }
    func popoverMenu(_ popoverMenu: JSPopoverMenuView, updatedData data: [String]) {
        print(data)
    }
    func popoverMenu(_ popoverMenu: JSPopoverMenuView, didSelectedAt indexPath: IndexPath) {
        print(indexPath)
    }
}

1 个答案:

答案 0 :(得分:0)

JSW,

我设法安装了该pod。我相信我们所拥有的问题与没有JSPopoverMenuView类型的事实有关。我进入pod本身并注意到有一个JSPopoverMenu,但没有JSPopoverMenuView类。

此外,混淆的根源在于项目的所有者正在我们来回更新Pod的过程中。他刚刚两小时前更新了它。请注意他刚刚介绍的班级名称的变化。我相信这应该可以解决您的问题:

enter image description here