无法在 Swift 2 项目 ("Use of undeclared type 'SMPageControl'") 中使用 Objective-C Pod Framework

Can't use Objective-C Pod Framework in Swift 2 project ("Use of undeclared type 'SMPageControl'")

我在 Xcode 7 上有一个 Swift 2 项目 运行。我正在使用 CocoaPods(v 0.38.2 with use_frameworks!)并且已经设法使这些框架正常工作:

两个Pods都是用Swift写的,所以目前没有问题。他们很有魅力。

现在我正在尝试使用 SMPageControl which is written in Objective-C. I've seen it's possible to use Obj-C Pods with Swift 2,尝试了很多不同的组合,但我无法让它工作。 SMPageControl class 没有显示在自动完成建议中,显然当我尝试使用它时编译器会抛出 Use of undeclared type 'SMPageControl'.

到目前为止我做了什么:

  1. 已将 pod 'SMPageControl' 添加到我的 Podfile
  2. 运行 pod install(我可以在 Xcode 项目树上看到 Pod source/framework)
  3. 在构建阶段添加 SMPageControl.framework > Link 带库的二进制文件(正如我对其他可用框架所做的那样)
  4. 已创建 PROJECT_NAME-Bridging-Header.h 并将其添加到项目的构建设置中(我可以说它正在运行,因为在我正确导入 SMPageControl 之前它会抛出错误)
  5. 在上面的文件中添加了#import <SMPageControl/SMPageControl.h>

到目前为止,项目编译没有错误,但我无法在我的 Swift classes 中使用 SMPageControl。在 Swift 文件中尝试了 import SMPageControl,但没有成功(它甚至没有自动完成)。我知道这是可能的,但我没有找到任何示例代码。

真的可以吗?如果是这样,我错过了什么?

终于让它工作了,事实证明我实际上遗漏了一些东西

除了上述所有步骤外,还需要 import Swift 文件顶部的框架:

import SMPageControl

由于 Xcode 没有提供任何自动完成功能,我认为这是不可能的。添加 import 语句后,项目编译成功,我可以使用 SMPageControl() class。