如何迁移到WKWebView?

2024-03-30

我试图了解如何使用 iOS8 中新的 WKWebView,但找不到太多信息。我读了:

http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/ http://developer.telerik.com/featured/why-ios-8s-wkwebview-is-a-big-deal-for-hybrid-development/ http://nshipster.com/wkwebkit/ http://nshipster.com/wkwebkit/

但这对现有应用程序有何影响?普通的 UiWebView 会从 nitro java 脚本引擎获得加速还是我们需要进行更改?我们如何处理向后兼容性?

我能找到的所有代码和示例都使用 swift,这是强制性的吗?

感谢您对此事的任何帮助!


UIWebView仍将继续与现有应用程序配合使用。WKWebView可以从iOS8, only WKWebView有一个 Nitro JavaScript 引擎。

要在旧应用程序中利用这种更快的 JavaScript 引擎,您必须更改代码才能使用WKWebView代替UIWebView. For iOS7年纪大了,你必须继续使用UIWebView,所以你可能需要检查iOS8然后申请WKWebView方法/委托方法和后备UIWebView方法用于iOS7和年纪大了。此外,也没有 Interface Builder 组件WKWebView(还),所以你必须以编程方式实现WKWebView.

你可以实施WKWebView在 Objective-C 中,这里是启动一个简单的例子WKWebView:

WKWebViewConfiguration *theConfiguration = [[WKWebViewConfiguration alloc] init];
WKWebView *webView = [[WKWebView alloc] initWithFrame:self.view.frame configuration:theConfiguration];
webView.navigationDelegate = self;
NSURL *nsurl=[NSURL URLWithString:@"http://www.apple.com"];
NSURLRequest *nsrequest=[NSURLRequest requestWithURL:nsurl];
[webView loadRequest:nsrequest];
[self.view addSubview:webView];

WKWebView渲染性能在 WebGL 游戏和运行复杂 JavaScript 算法的东西中非常明显,如果您使用 webview 加载简单的 html 或网站,您可以继续使用UIWebView.

这是一个测试可以用来打开任何网站UIWebView or WKWebView您可以比较性能,然后决定升级您的应用程序以使用WKWebView:

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何迁移到WKWebView? 的相关文章

  • 是否有像 iOS 8 photo.app 一样用于图像裁剪和旋转的视图控制器?

    我需要一个视图控制器供用户裁剪和旋转图像 而且我认为iOS8照片应用程序的UI非常棒 但我只找到了这两个 https github com heitorfr ios image editor https github com heitorf
  • AVCaptureVideoPreviewLayer 和从相机位置预览

    我正在开发一个允许用户拍照的应用程序 我已经开始使用AVCam https developer apple com library ios samplecode AVCam Introduction Intro html苹果提供了 但我实际
  • iOS 8:UINavigationController 隐藏后退按钮

    在 iOS 8 XCode 6 0 1 iPhone 6 中运行应用程序后 后退按钮不会隐藏 My code void removeCategoriesButton if UI USER INTERFACE IDIOM UIUserInte
  • 如何缓存WKWebView加载的资源?

    I use WKWebView显示包括图像在内的富文本 我想将这些图像缓存在磁盘上 如何获取这些 HTTP 请求并缓存响应 默认设置对 WKWebView 中加载的所有资源进行缓存 您所要做的就是在 HTTP 响应中为这些资源设置正确的标头
  • iOS/WKWebView 上 SVG 的随机故障渲染

    在我们的 iOS 应用程序中显示 SVG 图标时 我们遇到了奇怪的间歇性 非常偶然 渲染故障 基于WKWebView 当它确实发生时 它似乎可能与 CSS 相关 因为如果我在调试页面时在 Safari 中更改一些随机 甚至完全不相关 的 C
  • 更改 UIWebView 的文本颜色

    我正在制作一个 epub 阅读器 我将 HTML 页面加载到其中webview webview loadRequest NSURLRequest requestWithURL NSURL fileURLWithPath pagesPath
  • iOS:在 didFinishLoad 之后调整 UIWebView 的大小(内容应该适合而不滚动)

    我绝对无法调整我的大小UIWebView My UIWebView在 h 中声明并在 IB 中连接 IB 中的高度是 110 但是我的文本高度约为 1500 现在我想更改高度 以便无需滚动即可阅读全文 什么代码可以调整我的大小UIWebVi
  • WKWebView CALayer 到图像导出空白图像

    我试图截取网页的屏幕截图 但图像始终为空白 白色 我正在使用此代码进行转换CALayer to Data 取自这里 https stackoverflow com a 41387514 4859791 extension CALayer G
  • 跨不同的 viewController 使用相同的 UIWebView

    TL DR 我需要实现一个在多个 ViewController 之间共享的单例 UIWebVIew 这个问题包含了我迄今为止的所有方法 应用程序委托 property strong nonatomic UIWebView singleWeb
  • 在 iOS 8 中呈现相机权限对话框

    当我的应用程序在 iOS 8 上第一次尝试访问摄像头时 会向用户显示一个摄像头权限对话框 很像 iOS 7 中用于访问麦克风的麦克风对话框 在 iOS 7 中 可以预先调用麦克风权限对话框并查看是否授予了权限 请参阅这个问题 https s
  • 在 WKWebView 中加载 Microsoft Office 文档

    我已经使用 UIWebView 在我的应用程序中显示 Microsoft Office 文档 Word PowerPoint Excel 一段时间了 但 Apple 最近已弃用 UIWebView 类 我正在尝试切换到 WKWebView
  • 使用 IOS 8 编辑时键盘间歇性消失

    我遇到过几个案例 测试人员报告说 每当他们开始在我的应用程序中的某些字段中输入内容时 键盘就会消失 我使用模拟器跟踪流程 并在手机上调试时 问题从未发生 然而 当我在不受限制的手机上尝试时 它的发生相当一致 这是一些相关的代码 所有这些都是
  • 使用 swift 在 WKWebView 上显示活动指示器

    我正在处理以下代码 并尝试在页面加载时在视图中显示活动指示器 我尝试实施WKNavigationDelegate方法 但我失败了 因为没有任何显示 对于如何解决这个问题 有任何的建议吗 我没有设置 SupportWebView 视图dele
  • iOS WKWebView不支持本地存储

    我正在构建一个简单的 WKWebView 应用程序 该应用程序加载用 Construct HTML5 编写的游戏 游戏存储在服务器上 当我在常规浏览器 移动和桌面 中玩游戏时 游戏本身会存储在本地 并且高分也会存储在本地 重新启动游戏后不需
  • UIWebView 的“loadData”方法在 Swift 2 中不接受 nil 作为 baseURL

    我不想将任何值传递给 baseURL 参数loadData的方法UIWebView 在斯威夫特 1 2 中 nil工作正常 self loadFundInfo loadData responseData MIMEType contentTy
  • UIWebView 是否在请求标头中发送与移动 Safari 相同的用户代理?

    抱歉 我只想自己测试一下 但我目前没有 Mac UIWebView 内部发出的 Web 请求是否发送与移动 Safari 发出的 Web 请求相同的用户代理信息 从 UIWebView 发出的 Web 请求不会在用户代理字符串中包含单词 S
  • 以编程方式从 uiwebview 获取选定元素?

    目前我正在服用这个示例网站 http www fusioncharts com demos business management dashboard view Default asp并显示在我的网络视图中 网页显示正确 现在我试图弄清楚用
  • 为什么 UIWebView 实例不调用scrollViewDidScroll?

    iOS 文档说 UIWeb视图 http developer apple com library ios documentation uikit reference UIWebView Class Reference Reference h
  • 使用 Swift 解析框架

    有人尝试过将 Parse Framework 与 swift 一起使用吗 只要添加桥接文件 您就可以使用 swift 和 Objective C 代码 这是我的查询 从 Parse 返回的 对象 数组正确地包含了我的所有数据 但该方法在将
  • JavaScript 与 WKWebView 的同步本机通信

    使用 WKWebView 可以在 JavaScript 和 Swift Obj C 本机代码之间进行同步通信吗 这些是我尝试过但失败的方法 方法 1 使用脚本处理程序 WKWebView接收JS消息的新方式是使用委托方法userConten

随机推荐

  • 从没有分支的分离提交中获取代码

    我有一个不在分支中的提交 它包含我所有的最新工作 我需要将其添加到主分支 我怎样才能做到这一点 git status显示这个 detached from b225b49 master saved work 如果我会失去它吗git check
  • 实现从 .net winforms 应用程序将文件拖到桌面吗?

    我有一个文件列表 其名称位于列表框中 其内容存储在 SQL 表中 并希望我的应用程序的用户能够选择列表框中的一个或多个文件名并将它们拖到桌面 从而生成桌面上的实际文件 我找不到任何有关如何执行此操作的文档 任何人都可以解释或指出解释吗 稍后
  • Scala 何时需要匿名函数和扩展函数的参数类型?

    Scala编译器什么时候真正需要匿名函数参数的类型信息 例如 给定这个函数 def callOn T R target T f T gt R f target 那么我不能像这样使用它 callOn 4 toString gt error m
  • 如何安装和使用 Apache Velocity?

    我已经安装了Apache服务器2 4和Ant 1 8 3 我已经下载了Velocity 1 7和Velocity工具2 0 我已经阅读了 Apache Velocity 的安装文档大约十遍 并且 Google 了两天 我仍然不知道如何处理这
  • ngOnInit 在 APP_INITIALIZER 完成之前启动

    APP INITIALIZER 运行一系列嵌套的承诺 我尝试过订阅 结果没有任何差异 APP INITIALIZER 在从 API 服务器检索数据之前需要进行身份验证 它还需要从 API 服务器拉取两个表 按顺序 在 api service
  • 手电筒打开时 AVCaptureSession 冻结

    我们的 iOS 应用程序具有条形码扫描功能 客户可以根据需要打开和关闭手电筒 在 iPhone X 上 且仅在 iPhone X 上 当 AvCaptureSession 运行且手电筒启用时 屏幕上的视频捕获会冻结 一旦手电筒再次关闭 视频
  • Django:一种更干燥的方法来防止编辑/删除对象?

    读完Django的权限文档后 我还是一头雾水 我想阻止用户编辑或删除他们不拥有的对象 我是这样写的并且有效 在views py中 def deleteReward request reward id reward get object or
  • C++ 中的浮点变量

    我正在学习C 并在一个简单的程序中遇到这些问题 所以请帮助我 这是代码 include
  • 捕获页面重定向的下载链接 (WGET)

    这是我的问题 我目前正在为我编写一个脚本 该脚本可以自动下载一些我用来 清理 计算机的软件 我已经能够使用如下下载 URL 进行下载 https www driverscloud com plugins DriversCloud Win e
  • C++ 单击红色 X 时防止控制台窗口关闭

    我正在开发一个简单的 C 控制台应用程序 没有类和对象 有没有任何方法或功能可以防止单击红色 X 按钮时控制台关闭 我正在使用 Visual Studio C Express 2010 一个简单的控制台应用程序 仅包含 main cpp 文
  • 保存 matplotlib 动画时遇到问题[重复]

    这个问题在这里已经有答案了 我正在使用 matplotlib 制作动画热图 我的数据在一个文本文件 rs h 中 有 3 列 x y z 我使用散点图制作一个简单的热图 然后使用动画包随着时间的推移更新热图 import pandas as
  • 如何使用 powershell 删除 SSL 绑定

    I use Remove WebBinding Port Port Protocol https删除 Web 绑定 这将从关联站点中删除绑定 但绑定仍然存在 我可以在下面找到一个条目IIS SslBindings但未分配给任何站点 如果我尝
  • Wcf 类公共属性与 get;set 属性

    当我创建一个 wcf 类时 我经常这样做 DataContract Public class Customer DataMember public string Name get set 有人告诉我这样做更好 DataContract Pu
  • 如何在 Java Response 对象中返回 JsonArray

    我正在尝试实现基于 java 的 web 服务服务器 它返回 Json 和基于 java 脚本的 web 服务客户端 这是我的java部分 Path myapp Consumes MediaType APPLICATION JSON Pro
  • 在微服务中使用 json Web 令牌进行会话管理

    我试图弄清楚如何在微服务架构中使用 json Web 令牌来管理会话 看看这个设计article http nordicapis com how to control user identity within microservices 我
  • C++ 流如何为输入分配空间?

    例如 is type std istream str type std string is gt gt str 这是怎么长出来的str适应输入 它逐个字符地读取并调用str push back 或类似的东西 或者它是否有一种机制可以在读取输
  • 作为 Xcode 构建过程的一部分,如何运行上传符号来上传 dSYM?

    好的 所以我正在尝试自动上传 dSYM 我正在遵循此官方文档中的说明 https firebase google com docs crashlytics get deobfuscated reports https firebase go
  • 左右声道与麦克风录音分离

    我试图从麦克风录制并将录制的数据仅发送到左通道 右通道上有零 但我的技术似乎不起作用 我正在使用 PCM 16 和单声道模式的录音和音轨 我似乎做错了什么 package com example leftrighttest import a
  • 色彩图的非线性缩放以增强对比度

    以下 python 代码创建包含正态分布值的矩阵热图 import numpy as np from matplotlib import pylab as plt np random seed 123 make sure we all ha
  • 如何迁移到WKWebView?

    我试图了解如何使用 iOS8 中新的 WKWebView 但找不到太多信息 我读了 http developer telerik com featured why ios 8s wkwebview is a big deal for hyb