ios - Swift & ObjC 桥 - 找不到 "WKNavigationDelegate"的协议(protocol)声明

标签 ios objective-c swift

我看到有很多关于 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/

相关文章:

ios UITableViewcell 设置复选标记但滚动时间复选标记是自动隐藏并尝试解决它崩溃

ios - 如何在 Swift2 中将后退按钮更改为自定义图像

iOS,reloadRowsAtIndexPaths - 在我将新对象添加到其数据源后崩溃

ios - Xcode 10.2 GNU 风格的内联汇编被禁用

ios - 在使用 Xcode 9 为 iOS 11 设备构建的应用程序上出现间歇性和延迟的重要位置更改事件

ios - PFObject 子类未加载 Objective-C

objective-c - 如何使用NSFileManager setAttributes递归更改目录的权限

ios - 使用 .xib 文件在 Swift 中加载导航栏

ios - echarts(iOS图表)未显示在自定义uitableviewcell中

ios - 尝试在 Swift 应用程序中导入 MoPub 库时出错(错误 : use of undeclared type)