В моем приложении есть класс Objective-C (MyClass
).В файл Swift я добавил расширение, обеспечивающее его соответствие протоколу / интерфейсу NSFilePromiseProviderDelegate
:
extension MyClass: NSFilePromiseProviderDelegate {
public func filePromiseProvider(_ filePromiseProvider: NSFilePromiseProvider, fileNameForType fileType: String) -> String {
...
}
public func filePromiseProvider(_ filePromiseProvider: NSFilePromiseProvider, writePromiseTo url: URL, completionHandler: @escaping (Error?) -> Void) {
...
}
public func operationQueue(for filePromiseProvider: NSFilePromiseProvider) -> OperationQueue {
...
}
}
Мое приложение компилируется нормально, но у меня есть пакет модульных тестов (то, что раньше называлосьпакет "Тест логики" в XCode), который также компилирует все мои классы вне пакета приложения.Когда я добавляю файл Swift, который содержит это расширение, я получаю ошибку компилятора в моих модульных тестах:
<path>/NSPasteboard+ACAdditions.swift:205:18: error: redundant conformance of 'MyClass' to protocol 'NSFilePromiseProviderDelegate'
extension MyClass: NSFilePromiseProviderDelegate {
^
AppName.MyClass:1:11: note: 'MyClass' declares conformance to protocol 'NSFilePromiseProviderDelegate' here
extension MyClass : NSFilePromiseProviderDelegate {
^
Похоже, что файл Swift как-то включается в комплект модульных тестов дважды, ноЯ не знаю, как это было бы возможно.Когда я снимаю флажок с цели модульного теста в разделе «Членство в целевой группе» Инспектора файлов, я получаю другие ошибки для классов в этом файле, которые не определены.
Как мне это исправить, чтобы мои модульные тестыснова скомпилировать и протестировать классы, которым нужен этот файл?