如何在Swift项目中使用Objective-C桥接头文件

4

我被要求在我的Swift项目中使用Objective-C框架。

但是我不知道如何实现这一点。

我已经添加了这个文件:

Objective-CBridgingHeader.h

我在这个文件里放了以下内容:

#ifndef Objective_CBridgingHeader_h
#define Objective_CBridgingHeader_h

#import <FMShop/FMShop.h>

#endif /* Objective_CBridgingHeader_h */

现在我希望能够:

Import FMShop

使用Swift代码获取访问该框架的权限。但是,当我尝试

Import FMShop

我的项目不能编译,提示: "No such module 'FMShop'"

我缺少了什么?

我的基础SDK是iOS 8.0,我正在使用Xcode 7.3.1

这是我的项目截图:

enter image description here


可能是如何从Swift调用Objective-C代码的重复问题。 - Mr. Xcoder
2个回答

5
在Xcode项目中添加一个新的Objective-C文件。随意命名并会弹出一个提示框,询问您是否想要创建桥接头文件。然后删除该文件,因为它只是用来创建桥接头文件的。

enter image description here

或者,您可以通过选择文件 > 新建 > 文件 > (iOS、watchOS、tvOS 或 macOS) > 源代码 > 头文件自己创建桥接头文件。将文件命名为“ProjectName-Bridging-Header.h”,例如,如果项目名称为Test,则将文件名命名为“Test-Bridging-Header.h”。

https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html


1

前往构建设置并搜索Objective-C Bridging Header键,然后提供桥接标头文件的路径。在我的情况下,它是“Main/Main-Bridging-Header.h”。


我已经完成了这个操作,而没有重命名文件。重新命名文件真的很重要吗? - Rutger Huijsmans

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