答案 0 :(得分:66)
每当我尝试添加@import SafariServices;
语句时,我都会在零swift项目中收到此警告。
解决方案: 启用模块。转到目标>构建设置并将启用模块(C和Objective-C模块)设置为是。
答案 1 :(得分:28)
可能的原因是您使用Objective-C ++。然后,尽管正确的构建设置,模块仍会被禁用。
答案 2 :(得分:8)
检查您是否在.mm文件中使用#import "ProductName-Swift.h"
或除objc文件以外的任何其他文件。
因为如果在cpp文件中使用此导入,则会自动禁用模块。
答案 3 :(得分:2)
我一直在混合ObjC,ObjC ++,C ++和Metal。每当我收到“禁用模块时使用@import”时,我都会尝试 替换:
@import Name;
具有:
#import "Name/Name.h"
示例,替换为:
@import Metal;
@import MetalKit;
@import CoreVideo;
具有:
#import "Metal/Metal.h"
#import "MetalKit/MetalKit.h"
#import "CoreVideo/CoreVideo.h"
似乎可行。