我正在开发一个混合了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生态系统的东西,但构建系统很荒谬。
答案 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