【问题标题】:Error building Swift Cocoa Touch Framework after adding Swift file: <unknown>:0: error: could not build Objective-C module添加 Swift 文件后构建 Swift Cocoa Touch 框架时出错:<未知>:0:错误:无法构建 Objective-C 模块
【发布时间】:2015-02-01 05:55:10
【问题描述】:

我在创建 Swift Cocoa Touch 框架时遇到问题。一旦我添加了我的第一个 .swift 文件,清理,然后构建,我就会得到一个构建错误:

<unknown>:0: error: could not build Objective-C module 'MyTextFramework'

使用 Xcode 6.1.1 只需几个步骤即可轻松从头开始重现

  • 使用 Swift 语言创建新的 Cocoa Touch 框架
  • 添加 iOS swift 文件
  • 构建 - 确定
  • 清洁 - OK
  • 构建 - 错误
  • 从这里开始,除非我删除 swift 文件,否则项目将无法构建。

我已经尝试过典型的 Xcode 魔法,例如删除派生数据、重新启动 Xcode 等。


以下详细步骤(附有屏幕截图):

文件 > 新建 > 项目 > iOS 框架和库 > Cocoa Touch 框架

产品名称:MyTextFramework

语言:斯威夫特

我现在有一个基本的 Cocoa Touch 框架。

添加一个名为 FooBaz.swift 的 iOS Swift 文件

添加一个扩展 NSObject 的类和一个 init 函数。

此时目标仍然构建良好。

Cmd-K 清理项目

Cmd-B 再次构建... BAM

【问题讨论】:

    标签: ios objective-c xcode cocoa-touch swift


    【解决方案1】:

    如果你不打算使用来自 Objective-C 的 Swift 框架,最简单的解决方案是删除 MyTextFramework.h

    【讨论】:

    • 这是正确的,确实解决了我提出的问题。我想知道为什么要删除它,如果我确实想在 Obj-C 而不仅仅是 Swift 中使用我的框架会发生什么?
    • 你有没有想过这个问题?这绝对是荒谬的。
    【解决方案2】:

    正如 Georg Tuparev 回答的那样,我只需要删除 MyTextFramework.h 就可以了。但是,这会阻止在 Obj-C 代码中使用我的框架。

    是否有可能构建一个包含可用于 Swift 和 Obj-C 的 Swift 代码的框架?如果在技术上可行,那么 Xcode 的这个问题似乎会阻止任何人实际这样做。有没有人有针对这种情况的任何 cmet 或解决方案?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-11-17
      • 1970-01-01
      • 2017-06-29
      • 2020-01-10
      • 2019-09-03
      • 1970-01-01
      • 1970-01-01
      • 2017-06-02
      相关资源
      最近更新 更多