Xcode Swift类未出现在生成的<;项目名称>;Swift.h头文件

Xcode Swift类未出现在生成的<;项目名称>;Swift.h头文件,xcode,cocoapods,Xcode,Cocoapods,我在将一个类(用Swift编写并来自pod)导入Objective-C代码时遇到问题。我认为问题是由于类未能出现在我的自动生成的-Swift.h头文件中,但我不知道如何解决这个问题 我的Podfile有use\u框架声明,我安装了pod,我可以在任何Swift代码中使用pod的类,但不能在Obj-C中使用 我试图导入的Swift类是UITableViewCell的扩展,它被声明为公共类。它没有在源代码中声明带有@objc注释的类,但是自己添加它似乎也没有什么不同 在我的Obj-C源代码中,我有#

我在将一个类(用Swift编写并来自pod)导入Objective-C代码时遇到问题。我认为问题是由于类未能出现在我的自动生成的-Swift.h头文件中,但我不知道如何解决这个问题

我的Podfile有
use\u框架声明,我安装了pod,我可以在任何Swift代码中使用pod的类,但不能在Obj-C中使用

我试图导入的Swift类是UITableViewCell的扩展,它被声明为公共类。它没有在源代码中声明带有
@objc
注释的类,但是自己添加它似乎也没有什么不同

在我的Obj-C源代码中,我有
#导入“ProjectName Swift.h”
,(使用我的实际项目名称),但我的Obj-C文件在清理和构建后仍然无法识别该类。我已经检查了Swift头文件是否存在(它确实存在),但是经过检查,它似乎没有提到我试图导入的Swift类

我尝试在我的Obj-C源代码中向类提交一个前向
@class
声明,但这只会删除警告并延迟错误,直到我尝试构建。模块已在我的生成设置中启用。如果任何人有一些见解,你的帮助将不胜感激

编辑:
如果我为我的项目手动将源文件添加到
buildphases->compilesources
,那么一切都会正常工作——但这当然会破坏使用pod的目的。因此,这似乎是一个XCode搜索路径问题。

只有公共类和方法被发布,以便从其他模块中使用。为了确保Objective-C兼容性,您可以使用
@objc
注释类,并继承
NSObject

例如,将类定义更改为:

class MyClass {
    func sayHello() {}
}
致:


要在XCode 7上的Objective-C中使用Swift框架(iOS 8+),只需像在Swift中一样使用
@import
语句导入它们:

@import MyModule;
你所有的公共课都可以上



更多信息请参见apple文档的“导入外部框架”和“使用Objective-C中的Swift”部分。

仅发布公共类和方法,以便从其他模块中使用。为了确保Objective-C兼容性,您可以使用
@objc
注释类,并继承
NSObject

例如,将类定义更改为:

class MyClass {
    func sayHello() {}
}
致:


要在XCode 7上的Objective-C中使用Swift框架(iOS 8+),只需像在Swift中一样使用
@import
语句导入它们:

@import MyModule;
你所有的公共课都可以上



苹果文档的“导入外部框架”和“使用Objective-C中的Swift”部分提供了更多信息。

我最终找到了解决方案。似乎Swift POD没有添加到项目名称Swift.h中,而是为每个模块生成一个单独的Swift头

我需要做的是导入以下Swift头文件。
#导入“模块名称/模块名称-Swift.h”

redent84指出了另一个我没有想到的解决办法。您只需要像在Swift中一样将以下内容放入Objective-C源代码中。
@导入模块\u名称


这可能相当于糖被剥离后的swift收割台导入。

我最终找到了解决方案。似乎Swift POD没有添加到项目名称Swift.h中,而是为每个模块生成一个单独的Swift头

我需要做的是导入以下Swift头文件。
#导入“模块名称/模块名称-Swift.h”

redent84指出了另一个我没有想到的解决办法。您只需要像在Swift中一样将以下内容放入Objective-C源代码中。
@导入模块\u名称

这可能相当于糖剥离后的swift收割台导入