在Objective-C Framework中导入Swift类

时间:2014-06-09 21:28:23

标签: objective-c xcode swift

我有一个自定义框架,它有一堆Objective-C类。在Framework中,我想使用Swift添加更多类。但是,当尝试使用:MyProduct-Swift.h将Swift类暴露给Objective-C代码时,它会显示为“找不到MyProduct-Swift.h文件”。

我在单个视图模板中尝试了这个,它运行正常。是否无法在框架内导入Swift?

我还验证了我已经设置了Defines Module设置和Module Name。我已经尝试过,有没有这些设置。

2 个答案:

答案 0 :(得分:9)

我找到了一些额外的步骤来完成所有工作。除了设置'定义模块'到是和'产品模块名称' (如果你在Xcode 6中创建新的触摸框架,默认情况下这些设置是正确的)你还需要:

  1. 添加' public' Objective C中所需的所有Swift类的关键字
  2. 你需要添加公共'关键字甚至是您要从Objective C
  3. 访问的类中的所有方法和属性
  4. 你需要在一个长期的'中导入Swift标题。像这样的方式:
  5. #import <ProjectName/ModuleName-Swift.h>

答案 1 :(得分:4)

好的,我发现了问题所在。

确保在Build Settings中 - &gt;打包您将“定义模块”设置为“是”,并设置“产品模块名称”。然后在storyboard文件中,Module的名称应该相同,并与Build Settings中的名称相匹配。然后在你的Obj-C文件中写下包含&#34; -Swift.h&#34;

这对我有用。