繁体   English   中英

Swift“Bridging-Header.h”文件不允许我在.swift文件中实例化objective-c类

[英]Swift “Bridging-Header.h” file not allowing me to instantiate objective-c classes in .swift files

当X代码尝试自动创建桥接头时,它每次都会崩溃,因此我按照有关如何手动创建桥接头的说明进行操作。 (创建.h文件,将其命名为<#PROJECT_NAME> -Bridging-Header.h,导入所需的所有.h文件?)

问题是,当我尝试在包含在该头文件中的.swift文件中实例化一个类时,没有任何反应(它表示该类不存在)此外,在桥接头中,它似乎没有自动完成我的文件名试着把它们包括在内,让我相信一些没有正确联系的事情。

有没有人碰到这个? 有谁知道如何修理它?

您需要将其添加到目标的构建设置:

  1. 在Xcode中,如果你进入目标的构建设置,并一直向下滚动,你会发现一个“Swift编译器 - 代码生成”部分。

  2. 将“Objective-C Bridging Header”设置为<#PROJECT_NAME>-Bridging-Header.h

  3. 我不确定“安装Objective-C兼容性标题”的正确值,但它是肯定/否定,所以如果它最初不起作用,您可以切换它。

我试图自己创建一个桥接头,但由于某种原因Xcode不喜欢它。 所以我删除了我的自定义文件,导入了一个Obj C文件,该文件使Xcode询问我是否希望它为我创建一个。

我点击了,它有效!

1)创建一个名为“FMDB-Bridging-Header.h”的文件

在此文件中键入以下内容:#import“FMDB.h”

3)转到Build Settings - > Swift Compiler - 代码生成 - 添加到'Objective-C Bridging Header':FMDB-Bridging-Header.h

或者如果它被放置在项目的文件夹中:

文件夹名称/ FMDB桥接,Header.h

  1. 使用名称“[your-project-name] -Bridging-Header.h”将头文件添加到项目中

  1. 转到Build Settings> Build Options并将“Embedded Content包含Swift Code”设置为“Yes” 在此输入图像描述

  2. 转到Build Settings> Linking并将“@ executable_path / Frameworks”添加到Runpath搜索路径 在此输入图像描述

立即构建您的项目!

它可以帮助用它的Project根设置桥接头的名称,将“MyProject / MyProject-Bridging-Header.h”设置为Swift编译器构建密钥'Objective-C Bridging Header'的字符串值

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM