示例 - 未找到Swift.h

时间:2017-11-06 22:16:16

标签: ios objective-c swift xcode

我正在开发一个混合了Objective C和Swift代码的iOS框架。使用#import "Example-Swift.h"'Example-Swift.h' file not found行构建失败。

生成头文件,我可以在:

找到它

DerivedData/Example/Build/Products/Debug-iphonesimulator/Example.framework/Headers/Example-Swift.h

我在Stack Overflow上尝试了所有上升的解决方案,但都没有。唯一的解决方法是在构建设置中手动将目录添加到User Header Search Paths

如果其他人不必手动添加标题路径,我必须做错事。此外,当此框架的用户将其作为pod包含时,他们也需要更新构建设置,我真的想避免这种情况。

那么,有没有一个解决方案,这不是一个丑陋的黑客?我正在使用XCode 9.0.1。我希望Xcode / iOS有一个正常的构建系统......来自Linux / Android,我喜欢很多关于iOS生态系统的东西,但构建系统很荒谬。

1 个答案:

答案 0 :(得分:3)

我在混合的Objective-C / Swift框架中看到了这个问题,我的解决方案是将模块名称包含在include的目录部分中。在你的情况下,它将是

#import "Example/Example-Swift.h"

而不是

#import "Example-Swift.h"

这实际上记录在{em>导入Swift到Objective-C 子部分从同一框架目标中导入代码 https://developer.apple.com/library/content/documentation/Swift/Conceptual/BuildingCocoaApps/MixandMatch.html