当我尝试向(添加 Xcode 扩展的框架)中的类添加 swift 扩展时,XcodeKit
编译器很乐意构建而没有任何错误,但是当代码运行时,我得到以下异常:
-[XCSourceEditorCommandInvocation test]: unrecognized selector sent to instance 0x7fc60543f2b0
下面是可以重现异常的示例代码:
class SourceEditorCommand: NSObject, XCSourceEditorCommand {
func perform(with invocation: XCSourceEditorCommandInvocation, completionHandler: @escaping (Error?) -> Void ) -> Void {
// Call extension method
invocation.test() // <--- Exception thrown here
completionHandler(nil)
}
}
extension XCSourceEditorCommandInvocation {
func test() {
print("it works!")
}
}
我过去在 swift 中扩展了 ObjC 类,没有任何问题,所以我有点卡在这里。
我试过了: