xcode 混合Swift和Objective-C:未找到“项目名称-Swift. h”文件

8mmmxcuj  于 2022-12-19  发布在  Swift
关注(0)|答案(1)|浏览(344)

我正在开发一个包含Swift和Objective-C类的iOS项目。
为了示例化Objective-C中描述的对象,我知道我需要有一个Bridging-Header文件,其中包含了我在Swift类中使用的所有头文件的导入。它在我的项目中运行得很好。我创建了所有我需要的类,我在Swift中子类化了Objective-C类,一切都很好。
我的问题是,当谈到做相反的事情:在Objective-C文件中示例化一个swift对象。所以我读到我需要这些选项:

    • 将模块 * 定义为 * 是 *
  • 在我正在处理的 *.m文件中添加#import "<#YourProjectName#>-Swift.h"行。

这就是我所做的
我更改了构建设置上所有需要更改的值。我添加了import行,我甚至尝试创建头文件,但我仍然有"<#YourProjectName#>-Swift.h" file not found错误。
当然,我用实际的模块名称替换了YourProjectName,我在Build Settings上的 Packaging 部分的 Product Module Name 下找到了这个名称。而且,Project Name中没有空格。
我是不是忘了一个步骤?

3hvapo4f

3hvapo4f1#

确保你是从一个.m Objective-C文件导入-Swift.h文件,而不是从一个.h头文件导入。
...将Xcode为Swift代码生成的头文件导入到任何您希望从中使用Swift代码的Objective-C .m文件中。
-Swift.h文件是在构建过程中生成的,我发现从.h文件导入它总是失败,即使我知道该文件存在。由于它是在构建过程中生成的,我猜它在编译器筛选头文件时被清除,并在编译.swift文件后重新生成。

相关问题