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

Rut*_*ans 4 xcode objective-c ios swift

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

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

我添加了这个文件:

Objective-CBridgingHeader.h
Run Code Online (Sandbox Code Playgroud)

我在这个文件中放入了:

#ifndef Objective_CBridgingHeader_h
#define Objective_CBridgingHeader_h

#import <FMShop/FMShop.h>

#endif /* Objective_CBridgingHeader_h */
Run Code Online (Sandbox Code Playgroud)

现在我期望能够:

Import FMShop
Run Code Online (Sandbox Code Playgroud)

并使用 Swift 代码访问该框架。然而当我尝试

Import FMShop
Run Code Online (Sandbox Code Playgroud)

我的项目不再编译并声称存在:“没有这样的模块‘FMShop’”

我在这里缺少什么?

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

这就是我的项目的样子:

在此输入图像描述

Suh*_*til 5

将新的 Objective-C 文件添加到您的 Xcode 项目中。根据您的喜好命名,您应该会看到一个警告框,询问您是否要创建桥接标头。然后删除该文件,因为它刚刚用于创建桥接头。

在此输入图像描述

或者,您可以通过选择“文件”>“新建”>“文件”>(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