如何使用桥接头将Objective-C的cocoapod导入Swift

4

当我尝试将Kingpin CocoaPod导入我的Swift项目时,出现了“没有这样的模块KPClusteringController”错误。

https://github.com/itsbonczek/kingpin

我的Sandbox-Bridging-Header.h文件如下:

#import <kingpin/KPClusteringController.h>

在视图控制器中,我的导入语句是:

import UIKit
import MapKit
import KPClusteringController

你在哪里遇到了“没有这个模块”的错误?你尝试过删除 import KPClusteringController 这一行吗?如果可以解决问题,我可以将其发布为答案。 - Undo
它没有读取桥接头文件,因为它没有将其添加到构建设置中,现在我已经修复了这个问题,但我得到了一个新的错误 -“无法构建模块kingpin”。 - MonkeyBonkey
现在我已经修复了kingpin构建错误,但是在导入KPClusteringController时出现了“没有这样的模块”错误。 - MonkeyBonkey
尝试删除 import KPClusteringController 这一行。如果可以的话,请告诉我,我可以将其发布为答案。 - Undo
1
我已经改成导入kingpin,现在它可以工作了。 - MonkeyBonkey
1个回答

1

可能是以下几种情况之一

  1. 确保您正在使用项目工作区

  2. 转到目标构建设置,确保Objective-C桥接头的值是指向您桥接头文件的路径

  3. 确保您的目标构建配置从您的Pods xcconfig继承


好的,我手动添加了#2,现在它会得到更好的错误提示 - “无法构建kingpin模块”。 - MonkeyBonkey
双击右侧区域,白色弹出窗口将出现,请在此处键入文件路径,它将类似于YOUR_PROJECT/Supporting Files/Sandbox-Bridging-Header.h。 - Neil Horton
我认为你不需要导入KPClusteringController,因为它已经由桥接头处理了。 - Neil Horton
如果我移除这个导入,它会提示“未解决的标识符使用:KPClusteringController”。 - MonkeyBonkey
清理构建文件夹和派生数据之后?我刚刚检查了我的项目,从来没有导入过由CocoaPods注入的模块和桥接头文件。你是在目标级别而不是项目级别导入桥接头文件吗? - Neil Horton
我将导入语句从import KPClusteringController更改为import kingpin,现在它可以工作了。 - MonkeyBonkey

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接