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

时间:2017-01-22 06:19:33

标签: ios objective-c swift xcode

我被要求在我的Swift项目中使用Obj-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

我的项目不再编译声称: &#34;没有这样的模块&#39; FMShop&#39;&#34;

我在这里缺少什么?

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

这就是我的项目:

enter image description here

2 个答案:

答案 0 :(得分:3)

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

enter image description here

或者,您可以通过选择文件&gt;自行创建桥接标题。新&gt;文件&gt; (iOS,watchOS,tvOS或macOS)&gt;来源&gt;头文件。将文件命名为&#34; ProjectName-Bridging-Header.h&#34;例如如果Project Name为Test,则将文件名命名为&#34; Test-Bridging-Header.h&#34;。

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

答案 1 :(得分:1)

转到构建设置并搜索Objective-C Bridging Header键并提供桥接头文件的路径。在我的情况下,它是&#34; Main / Main-Bridging-Header.h&#34;。