禁用模块时使用@import

时间:2015-04-17 14:12:19

标签: ios xcode import module

我遇到了问题

@import Foundation;

我看到了:
@import vs #import - iOS 7

我将“启用模块”设置为“是”

我的问题没有解决

4 个答案:

答案 0 :(得分:66)

每当我尝试添加@import SafariServices;语句时,我都会在零swift项目中收到此警告。

解决方案: 启用模块。转到目标>构建设置并将启用模块(C和Objective-C模块)设置为

I've circled the Build Settings toggle to change.

答案 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"

似乎可行。