[英]Xcode 8 with mixed Swift and Objective-c project generated “ModuleName-Swift.h” header not found
我有完全相同的问题。 添加一个仅针对一个目标的新文件(错误地)后发现解决方案,并注意到读取Swift类没有问题。 因此,如果您有多个目标 ,并且由于迁移您不需要构建和运行它们,建议您这样做。
您需要在构建设置中添加此项。
迁移到Xcode 8时可能会出现问题,您将在构建设置Swift头文件中unspecified
。
这个如果来自killerz
转到Build Settings-> Objective-C Generated Interface Header Name并将值设置为YourModule-Swift.h(这通常已设置,这是您需要在.m文件中导入的文件名#import“YourModule-Swift.h “
如果
请注意, 每个目标使用(并应使用)Objective-C生成的接口标题名称的不同文件名 。
这意味着您无法在Objective-C .h
文件中导入生成的头文件,因为它们在测试目标中找不到:
相反,您应该将这些#import
语句移动到Objective-C .m
(实现文件)中,它们将成功构建。
如果需要在.h
文件中引用Swift类,请使用@class
指令 ,例如:
//
// ViewController.h
// import-example
//
#import <UIKit/UIKit.h>
@class SomeSwiftClass;
@interface ViewController : UIViewController
- (NSString *) titleFromGenerator:(SomeSwiftClass *)generator;
@end
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.