【问题标题】:Build Errors on upgrading from Xcode 7.2 to 7.3从 Xcode 7.2 升级到 7.3 的构建错误
【发布时间】:2016-03-28 11:40:09
【问题描述】:

除了由于 Swift 2.2 被弃用而导致的一堆警告之外,我在升级到 Xcode 7.3 时遇到了一些莫名其妙的构建错误——其中大部分与 Objective-C 和 Swift 代码之间的互操作性有关:

  1. 找不到“ModuleName-Swift.h”文件
  2. 在 Swift 中找不到在 Objective-C 文件中定义的外部变量(并在桥接头文件中导入)

我浏览了 Xcode 7.3 和 Swift 2.2 的发行说明和“新功能”,但没有发现任何相关内容。

有什么想法吗?

【问题讨论】:

  • 查看您的构建设置中的桥接头路径。
  • 从 Xcode 7.2 迁移到 7.3 时,我没有看到您解释的内容,但通常这些错误是 1。当您遇到其他错误时,Xcode 无法生成 ModuleName-Swift.hfile,因此无法生成被发现。因此,您可能必须从问题 #2 开始。你有什么桥接头?
  • 桥接头路径正确。我的观点是,代码在 Xcode 7.2 中完美编译,但在 7.3 中却没有。桥接头文件有大量的 Objective-C 头文件(其中一些确实无法编译,因为找不到 ModuleName-Swift.h)。
  • 清除项目并运行它
  • 我已经完成了所有基本的工作,比如清除派生数据、清理项目等。

标签: ios objective-c xcode swift2 xcode7


【解决方案1】:

问题似乎在于 Xcode 7.3 与 Swift 2.2 一起对 Objective-C 进行了一些结构性更改。

编译失败是因为 Objective-C 的 enum 定义和 extern 变量必须在@interface ... @end 块的外部声明才能被 Swift 访问。

在我移动外部变量和枚举的那一刻,我的所有构建问题都得到了解决。

希望这对处于类似情况的其他人有所帮助。

【讨论】:

    猜你喜欢
    • 2020-04-01
    • 1970-01-01
    • 2020-01-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-09-09
    相关资源
    最近更新 更多