我看到有很多关于 Swift 和 Objective-C 桥的问题,包括 this one , this one , 和 this one ....但到目前为止,他们都没有帮助我。
添加 WKNavigationDelegate 和 WKScriptMessageHandler 时,编译器失败并显示消息“找不到协议(protocol)声明”。
Project-Brigding-Header.h
#import <WebKit/WebKit.h>
#include "xyz.h"
我已将 WebKit.framework
添加到 target > Build Phases
下的 Link Binary With Libraries
。并更改了build设置。
Defines Module : YES
Always Embed Swift Standard Libraries : YES
Install Objective-C Compatibility Header : YES
我还需要做任何其他事情才能让它发挥作用吗?
最佳答案
为什么使用 #import <WebKit/WebKit.h>
在桥接头中?
只需在 swift 文件的顶部添加:
import WebKit
仅适用于使用 Objective-C 编写的应用程序内部类的桥接 header 。
WebKit是一个模块(用 swift 的术语)。
附言
同时从桥接头中删除#import。
关于ios - Swift & ObjC 桥 - 找不到 "WKNavigationDelegate"的协议(protocol)声明,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56830193/