无法在 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!
)并且已经设法使这些框架正常工作:
- 加密货币Swift
- Pluralize_swift
两个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'
.
到目前为止我做了什么:
- 已将
pod 'SMPageControl'
添加到我的 Podfile
- 运行
pod install
(我可以在 Xcode 项目树上看到 Pod source/framework)
- 在构建阶段添加
SMPageControl.framework
> Link 带库的二进制文件(正如我对其他可用框架所做的那样)
- 已创建
PROJECT_NAME-Bridging-Header.h
并将其添加到项目的构建设置中(我可以说它正在运行,因为在我正确导入 SMPageControl
之前它会抛出错误)
- 在上面的文件中添加了
#import <SMPageControl/SMPageControl.h>
到目前为止,项目编译没有错误,但我无法在我的 Swift classes 中使用 SMPageControl
。在 Swift 文件中尝试了 import SMPageControl
,但没有成功(它甚至没有自动完成)。我知道这是可能的,但我没有找到任何示例代码。
真的可以吗?如果是这样,我错过了什么?
终于让它工作了,事实证明我实际上遗漏了一些东西。
除了上述所有步骤外,还需要 import
Swift 文件顶部的框架:
import SMPageControl
由于 Xcode 没有提供任何自动完成功能,我认为这是不可能的。添加 import
语句后,项目编译成功,我可以使用 SMPageControl()
class。
我在 Xcode 7 上有一个 Swift 2 项目 运行。我正在使用 CocoaPods(v 0.38.2 with use_frameworks!
)并且已经设法使这些框架正常工作:
- 加密货币Swift
- Pluralize_swift
两个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'
.
到目前为止我做了什么:
- 已将
pod 'SMPageControl'
添加到我的Podfile
- 运行
pod install
(我可以在 Xcode 项目树上看到 Pod source/framework) - 在构建阶段添加
SMPageControl.framework
> Link 带库的二进制文件(正如我对其他可用框架所做的那样) - 已创建
PROJECT_NAME-Bridging-Header.h
并将其添加到项目的构建设置中(我可以说它正在运行,因为在我正确导入SMPageControl
之前它会抛出错误) - 在上面的文件中添加了
#import <SMPageControl/SMPageControl.h>
到目前为止,项目编译没有错误,但我无法在我的 Swift classes 中使用 SMPageControl
。在 Swift 文件中尝试了 import SMPageControl
,但没有成功(它甚至没有自动完成)。我知道这是可能的,但我没有找到任何示例代码。
真的可以吗?如果是这样,我错过了什么?
终于让它工作了,事实证明我实际上遗漏了一些东西。
除了上述所有步骤外,还需要 import
Swift 文件顶部的框架:
import SMPageControl
由于 Xcode 没有提供任何自动完成功能,我认为这是不可能的。添加 import
语句后,项目编译成功,我可以使用 SMPageControl()
class。