【问题标题】:Xcode refuses to let me import Swift files to Objective-C files ('projectname-swift.h' not found)Xcode 拒绝让我将 Swift 文件导入到 Objective-C 文件(未找到“projectname-swift.h”)
【发布时间】:2018-07-09 14:56:06
【问题描述】:

我下载了this Xcode 项目,我想在 Objective-C 文件中使用我的 Swift 文件,但“OpenShop-Swift.h”文件未找到错误拒绝消失。

我已经尝试过 Stack Overflow 上的所有解决方案,包括来自 herehere 的解决方案。大多数其他解决方案都是常见的重复:

在构建设置中,将定义模块设置为yes,并将目标的产品模块名称设置为您的项目名称,并确保objective-c生成的接口头名称正确。

This 顶级解决方案似乎很有希望,但我无法理解他在说什么。

如果您决定试一试,只需知道该项目缺少工作后端,并且如果您遇到未找到文件的错误,将无法正确编译。但是,如果您添加到其中一个 .m 文件,您应该能够在项目完成编译之前得到错误。

从技术上讲,这不是重复的,因为所有其他解决方案都失败了。

【问题讨论】:

  • 我无法重现您的问题。我下载了那个代码库并添加了一个 Swift 文件。然后我能够构建和访问 OpenShop-Swift.h。再次查看这些答案,看看你是否遗漏了什么。您是否添加了桥接头并在构建设置中定义它?

标签: ios objective-c swift xcode


【解决方案1】:

感谢@skladek,我找到了解决方案。我创建了一个 swift 文件并允许 Xcode 在它询问时为我创建一个桥接头文件,并且错误消失了。

我认为桥接头文件 (OpenShop-Bridging-Header.h) 允许将 Obj-C 代码导入 Swift 文件,反之亦然。到目前为止,我在互联网上阅读的所有内容都证实了这一点,所以我不清楚为什么这个解决方案有效。再次感谢@skladek

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-12-07
    • 2019-02-28
    • 1970-01-01
    • 1970-01-01
    • 2015-11-30
    • 1970-01-01
    相关资源
    最近更新 更多