对于想了解Swift“Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类的读者,本文将是一篇不可错过的文章,我们将详细介绍swift不支持静态库,并且为
对于想了解Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类的读者,本文将是一篇不可错过的文章,我们将详细介绍swift不支持静态库,并且为您提供关于ios – Swift Bridging Obj和Obj-C类的可见性、ios – Swift“Bridging-Header.h”文件不允许我在.swift文件中实例化目标c类、ios – 我应该在我的混合Objective-C / Swift项目中使用Realm Objective-C或Realm Swift吗?、ios – 混合Swift和目标C:找不到“ProjectName-Swift.h”文件的有价值信息。
本文目录一览:- Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类(swift不支持静态库)
- ios – Swift Bridging Obj和Obj-C类的可见性
- ios – Swift“Bridging-Header.h”文件不允许我在.swift文件中实例化目标c类
- ios – 我应该在我的混合Objective-C / Swift项目中使用Realm Objective-C或Realm Swift吗?
- ios – 混合Swift和目标C:找不到“ProjectName-Swift.h”文件
Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类(swift不支持静态库)
当X代码尝试自动创建桥接头时,它每次都会崩溃,因此我按照有关如何手动创建桥接头的说明进行操作。(创建一个.h文件,将其命名为<#PROJECT_NAME>
-Bridging-Header.h,导入所需的所有.h文件吗?)
问题是,当我尝试实例化该头文件中包含的.swift文件中的类时,什么都没有发生(它说该类不存在)。此外,在桥接头文件中,当我执行时,文件名似乎并没有自动完成尝试包括它们,使我相信某些东西无法正确链接。
有人碰到这个吗?有谁知道如何修理它?
答案1
小编典典您需要将其添加到目标的构建设置中:
在Xcode中,如果进入目标的构建设置,然后一直向下滚动,则会发现“ Swift Compiler-Code Generation”部分。
将“ Objective-C桥接标头”设置为
<#PROJECT_NAME>-Bridging-Header.h
我不确定“ Install Objective-C Compatibility Header”的正确值,但是它是“是/否”,因此,如果一开始不起作用,您可以对其进行切换。
ios – Swift Bridging Obj和Obj-C类的可见性
我做过的事情清单:
>创建.m文件和Xcode建议创建桥接标头
>添加obj-c文件到项目并将其导入标题
>在构建设置中提供了桥接头文件的完整路径
>在代码中使用了Obj-C类型……但它没有构建.
>然后,我提供的不是标题的完整路径,而是项目所在文件夹的路径 – 没有结果.
我根据苹果文档仔细检查了所有步骤,但没有结果.
为什么?任何帮助,将不胜感激.
解决方法
>创建一个Swift项目
>将测试类分别添加为Cocoa Class而不是.m和.h. Xcode提示添加桥接头.
>在桥接标题中导入测试类标题,您已经这样做了.应该没有问题在Swift中实例化测试类.
>将BL_KeyChainWrapper .m和.h复制到finder中的项目目录.
>将BL_KeyChainWrapper文件拖到项目中并确保添加到目标.
>在桥接头中导入BL_KeyChainWrapper标头.
>在Swift中实例化BL_KeyChainWrapper类.
如果按照上述步骤操作,仍然有错误.您可能没有在BL_KeyChainWrapper.h中声明一个名为BL_KeyChainWrapper的类.确保在BL_KeyChainWrapper.h中,您有以下代码:
@interface BL_KeyChainWrapper : BaseClass
ios – Swift“Bridging-Header.h”文件不允许我在.swift文件中实例化目标c类
(创建.h文件,将其命名为<#PROJECT_NAME> -Bridging-Header.h,导入所需的所有.h文件?)
问题是,当我尝试在包含在该标题中的.swift文件中实例化一个类时,没有任何事情发生(它表示该类不存在)而且,在桥接头中,当我发现我的文件名时,似乎没有自动完成我的文件名尝试包括他们,导致我相信某些事情没有正确连接。
有没有人遇到这个?有谁知道如何解决它?
解决方法
>在Xcode中,如果您进入目标的构建设置,并一直滚动,您将找到一个“Swift编译器 – 代码生成”部分。>将“Objective-C桥接头”设置为<#PROJECT_NAME> -Bridging-Header.h>我不知道“安装Objective-C兼容性头文件”的正确值,但它是一个yes / no,所以你可以先切换它,如果它不起作用。
ios – 我应该在我的混合Objective-C / Swift项目中使用Realm Objective-C或Realm Swift吗?
If you’re looking to use Realm from Objective-C,or from mixed Objective-C & Swift apps please see Realm Objective-C instead.
Using both Realm Objective-C and Realm Swift simultaneously is not supported.
解决方法
ios – 混合Swift和目标C:找不到“ProjectName-Swift.h”文件
为了实例化Objective-C中描述的对象,我明白我需要一个Bridging-Header文件,其中包含我在Swift类上必须使用的所有标题的导入.它在我的项目上很好.
我做了我需要的所有课程,我在Swift中分类Objective-C类,一切都OK.
我的问题是在相反的情况下:在Objective-C文件中实例化一个swift对象.所以我读到我需要有这些选择:
>将模块定义为是
>在我正在处理的* .m文件中添加行#import“&##YourProjectName#> -Swift.h”.
这就是我做的:
我更改了Build Settings中需要更改的所有值.我添加了导入行,我甚至尝试创建头文件,但我仍然有“<#YourProjectName#> -Swift.h”文件找不到错误.
当然,我用实际的模块名称替换了YourProjectName,这是我在Build Settings的“Packaging Package”部分的“产品模块名称”下找到的.此外,项目名称中没有空格.
我忘了一步吗?
感谢您的帮助.
解决方法
… import the Xcode-generated header file for your Swift code into any Objective-C .m file you want to use your Swift code from.
-Swift.h文件在生成期间生成,我发现从.h文件导入它总是失败,即使我知道文件存在.由于它是由构建生成的,所以我猜测当编译器通过标题进行筛选,并在.swift文件被编译后重新生成.
今天关于Swift“ Bridging-Header.h”文件不允许我实例化.swift文件中的Objective-C类和swift不支持静态库的分享就到这里,希望大家有所收获,若想了解更多关于ios – Swift Bridging Obj和Obj-C类的可见性、ios – Swift“Bridging-Header.h”文件不允许我在.swift文件中实例化目标c类、ios – 我应该在我的混合Objective-C / Swift项目中使用Realm Objective-C或Realm Swift吗?、ios – 混合Swift和目标C:找不到“ProjectName-Swift.h”文件等相关知识,可以在本站进行查询。
本文标签: