XCode忽略了桥接头文件

时间:2018-04-16 14:25:47

标签: ios objective-c swift

使用XCode 9和Swift 4,我创建了一个桥接头文件,以便利用外部框架,但无论我做什么,XCode都会忽略桥接头文件。我按照我在网上找到的步骤进行了操作,但我不知道该项目有什么问题。我附上了一张图片,因为头文件中有无效字符,所以不应该给我一个编译错误吗?

Click to see XCode project image

这不是一个重复的问题,由于编译错误,建议的问题使得头文件工作有问题,在我的情况下编译成功并且Xcode甚至不尝试编译头文件。

我从头创建了另一个项目,我能够使桥接头工作,所以我猜这个项目有问题。我创建了这个项目并再试一次。

4 个答案:

答案 0 :(得分:1)

项目>>构建设置>> SWIFT_OBJC_BRIDGING_HEADER 您是否在此处指定了桥接头文件名?

答案 1 :(得分:1)

正如Biju所说,指定桥接头文件名 - 尝试更改其位置(例如将其放在项目文件夹中)

答案 2 :(得分:1)

我发现创建objective-c文件而不是直接创建头文件更方便。

您可以尝试创建虚拟int [][] grid = { {1,1,1,1,1,1,1,1,1,1,1,1,1}, {1,0,1,1,1,0,1,0,0,0,0,0,1}, {1,0,1,0,0,0,1,0,1,1,1,0,1}, {1,0,0,0,1,1,1,0,0,0,0,0,1}, {1,0,1,0,1,1,1,0,1,0,1,0,1}, {1,0,0,0,0,0,0,0,0,0,1,0,1}, {1,1,1,1,1,1,1,1,1,1,1,1,1} }; 文件。

从XCode的文件菜单中点击objective-c - > File - > New。选择File,然后点击Obective-C File按钮。

您可以提供您想要的任何虚拟名称。我将名称命名为nextnew objective-c files

点击DummyFile

现在将此文件保存在项目目录中。

由于xcode即将向您的Next项目添加此Objective-C文件,系统会自动要求您创建Swift,如下所示。

[Xcode's bridging header creation option[2]

当您单击Bridging Header时,Xcode会创建一个Create Bridging Header文件(因为我的项目名称是Bridger)并将其放在项目的目录中,如Xcode的项目导航平台所示。

Bridging header file

现在您可以导入要向Swift公开的目标公共标题。

如果需要,您现在可以从项目目录中删除Brigder-Bridging-Header.h

这应该是希望的。

答案 3 :(得分:0)

首先清洁(Command + K)然后构建(Command + B),执行干净的构建。

有同样的问题,这就解决了。