Xcode不会自动创建桥接头?

Joh*_*and 42 xcode objective-c ios swift

我在我的swift项目中导入了一个Obj-C文件,Xcode自动提示我按预期创建一个桥接头文件.但是,我删除了两个文件(移动到垃圾箱)进行了一些更改,但是当我再次尝试导入Obj-C文件时,提示不再出现.是什么原因?我甚至在另一个项目中测试了这个相同的场景,似乎一旦我删除了Xcode的自动创建的桥接头,它不会再次带来提示.为什么是这样?

Sha*_* TK 89

您遇到问题的原因是,Xcode构建设置仍保留自动生成的Bridging Header文件的路径.由于头文件(ProjectName-Bridging-Header.h)仍存在于项目目录中,因此无法获得任何构建错误.

如何解决:

单击项目目标,转到Build Settings选项卡(选择all而不是basic),搜索Bridging Header.您可以看到Xcode生成的路径条目.选择它并单击删除按钮.

此外,请确保(ProjectName-Bridging-Header.h)从Xcode项目目录中删除Xcode自动生成的桥接头文件.

现在,尝试再次导入Obj-C文件.您可以按预期看到创建桥接头文件的提示.

在此输入图像描述

  • 我试图将obj-c文件添加到项目中,但从未得到过桥接标题提示.我在构建设置上没有那个Bridging选项:/ (13认同)

Iul*_*iev 23

文件 - >新文件 - >头文件

将其另存为YourApp-Bridging-Header

然后转到Build Settings,找到"Objective-C Bridging Header"(如前所述),并将其传递给您的桥接头:YourApp/YourApp-Bridging-Header.h其中'YourApp /'是app的名称.它可能包含空格,例如"Your App /".

在我的情况下,在xCode 7.3.1中它可以工作

  • $(SRCROOT)/ $(PROJECT_NAME)/ $(SWIFT_MODULE_NAME)-Bridging-Header.h复制粘贴"Objective-C Bridging Header" (6认同)

Kum*_*mar 7

如上面提到/建议的那样,在xcode中创建桥接头有不同的方法.在这里,我将为您提供创建Bridge的最佳和最简单的方法.

  1. Image1显示当前时间点没有桥接.

此搜索

  1. Image2显示我复制了一个包含objective-c头文件的文件夹,复制弹出窗口后会出现在屏幕上.

镜像2

  1. Image3将显示弹出消息.但按完成按钮后,您会注意到仍然没有桥接.供参考,见图2.

图像3

  1. 现在在image5和6中,我只需拖放objective-c头文件,之后你会得到弹出消息.

图像4

  1. 按完成按钮后,您会收到消息,如果您要配置Objective-C桥接标头?.按下Yes按钮后,您将获得桥头,您可以在image5中看到.

图像5

如果要将标题保留在一个组中,请使用" 新建组"并将该文件拖放到该组中.

Image6

永远不要创建任何文件夹,否则你会因此而得到错误.


ron*_*nan 6

  1. 桥接文件在项目中仅提示一次。

  2. 如果不小心删除了该文件,则必须建立一个新的桥接文件。一样的。

  3. 转到File->New File->Header File,名称应该是YourProjectName-Bridging-Header,否则无法识别。


Fon*_*nix 5

查看您的项目设置 -> 构建设置,向下滚动到该User-Defined部分,看看它是否有一个被调用的键SWIFT_OBJC_BRIDGING_HEADER以及它是否有一个值。如果它在那里,它可能认为你已经有了,在这种情况下,只需重新创建具有相同名称的文件。