如何让编译器看到我的Framework module.modulemap伞形头?

时间:2016-05-13 17:51:07

标签: objective-c xcode swift module frameworks

我正在使用混合的Objective-C和Swift源文件构建框架 我创建了自己的名为module.modulemap的模块映射文件。

我的问题是,当我输入绝对路径时,编译器只编译我的伞形头文件:

Not working!

Working, Yeah!

如何让编译器/ Xcode看到头文件?

2 个答案:

答案 0 :(得分:0)

好的,所以我发现了这个问题。 (或者其中之一)。似乎能够使用伞形标题,标题必须是实际的头文件。在这种情况下,我只是使用项目中唯一的头文件,它也有一个.m文件。

我的解决方案是创建一个包含以下内容的实际UmbrellaHeader.h文件:

#ifndef UmbrellaHeader_h
#define UmbrellaHeader_h

#include "TestObject.h"

#endif /* UmbrellaHeader_h */

答案 1 :(得分:0)

仅供参考:如果您的项目在编译源之前有其标题阶段,并且您尝试创建混合的Objective-C / Swift框架,则可以看到有关伞标题丢失的Swift编译器错误。如果删除/重命名所有.swift文件,项目将构建正常,然后将它们放回去,它将再次构建,但是一个干净的构建失败。

只需在构建过程的早期移动标题阶段,它就可以正常工作。