Использование @import при отключении модулей
У меня проблема
@import Foundation;
и я вижу:
@import vs #import - iOS 7
и я установил "Enable Modules" в "YES"
и моя проблема не решена.
Ответы
Ответ 1
Я получил это предупреждение в проекте с нулевым быстродействием всякий раз, когда пытался добавить оператор @import SafariServices;
.
Решение:
Включить модули. Перейдите в раздел "Цели" > "Установки" и установите "Включить модули" (модули C и Objective-C) на YES.
![Я применил переключатель Build Settings to change.]()
Ответ 2
Возможная причина в том, что вы используете Objective-C ++. Затем модули отключены, несмотря на правильные настройки сборки.
Ответ 3
Проверьте, используете ли вы #import "ProductName-Swift.h"
где-нибудь в файлах .mm или других файлах, отличных от файлов objc.
Потому что, если вы используете этот импорт в файлах cpp, то модули автоматически отключаются.
Ответ 4
Я смешивал ObjC, ObjC++, C++ и металл. Всякий раз, когда я получаю "использование @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"
Вроде работает.