如何在Swift项目中强制执行`Xcode生成的头文件...(从Obj-C调用Swift)

时间:2017-11-03 13:55:22

标签: objective-c swift xcode

当项目是Swift项目时,Xcode不会生成此-Swift.h头文件。文档说:

  

当您将Swift代码导入Objective-C时,您依赖于   Xcode生成的头文件将这些文件暴露给Objective-C。这个   自动生成的文件是一个声明的Objective-C头   目标中的Swift接口。它可以被认为是一种   你的Swift代码的标题。这个标题的名称是你的   产品模块名称后跟添加" -Swift.h"。

如果我尝试包含-Swift.h文件,则会显示file not found。 我之前能够在Objective-C项目中生成此文件。 但我想在Swift项目中从Objective-C调用Swift。

如何在Swift项目中从Obj-C调用Swift?

谢谢!

1 个答案:

答案 0 :(得分:4)

如果导入*-Swift.h的Objective-C文件位于包含您在Objective-C中尝试使用的Swift代码的同一Swift目标中,则应该可以轻松导入它。要确保使用正确的名称,请查看Objective-C Generated Interface Header Name下的Build Settings。如果目标是框架,则可能需要稍微不同地导入-Swift.h标头:

#import "YourFrameworkModuleName/YourFrameworkModuleName-Swift H"

而在应用程序目标中,您只需执行

#import "YourAppModuleName-Swift.h"

这是我从经验中找到的东西。