У меня есть SDK A в Objective-C, который работает нормально. Я создал для него расширения, и он все еще работает с рабочим кодом.
Когда я начал тестировать свой код и напрямую использую SDK, все в порядке. Мои тесты не выполняются, когда я вызываю расширение с помощью stacktrace: file:///%3Cunknown%3E: test failure: SomeTests.testAExtension() failed: failed: caught "NSInvalidArgumentException", “-[A myFun()]: unrecognized selector sent to instance 0x600001a8d3e0…
Это код, который я использую:
// sdk class in Objective-C
class A {
func sdkFun() {
// do something
}
}
extension A {
func myFun() {
sdkFun()
}
}
class SomeTests {
// O.K.
func testAFun() {
let a = A()
a.sdkFun()
}
// Fails with error
func testA() {
let a = A()
a.myFun()
}
}
Что я не так делаю? Я пользуюсь Swift 4.2