【发布时间】:2015-01-28 06:54:40
【问题描述】:
我正在将 Swift 类添加到现有的 Objective-C 项目中。作为其中的一部分,我在目标MyProjectTests 中添加了一个MyProjectTests.swift。它从目标 MyProject 和 import MyProject 导入 Swift 类,效果很好。
我现在也想在MyProjectTests.m 中使用@import Swift;。但是,编译器会发出错误Module 'MyProject' not found。
我有这些问题:
使 import 和 @import 在测试目标中都成功
为什么 Swift 编译器可以看到模块 MyProject 而 Objective-C 编译器却没有?我必须更改MyProjectTest 中的哪些构建设置才能使@import MyProject 也成功。
从主要目标导出 Objective-C 类
最终MyProjectTest.swift 和MyProjectTest.m 也需要从目标MyProject 访问Objective-C 类。到目前为止,我已经针对此类文件进行了多目标处理,但我也想在这里切换到使用模块。
我目前的理解是,这是提供一个module.map 文件的问题,该文件将列出我希望“导出”的类的头文件。
我必须执行哪些具体步骤?在MyProject 和MyProjectTests 两个目标中,我应该将头文件放置在哪里以及需要更改哪些构建设置?
我目前在我的项目中有一个(目前为空)module.map,目标MyProject 的构建设置包括Defines Module: Yes、Product Module Name: MyProject。
更新我现在想知道是否不可能将 iOS 应用程序(而不是 framework)项目中的 (Objective-C) 文件作为模块公开。但它似乎已经适用于 Swift 文件(不知何故)。
【问题讨论】:
标签: objective-c swift module xcode6 xctest