通用链接不适用于 WKWebView

2023-12-07

I have web-view基于应用程序和公司中的其他本机应用程序。我们正在使用universal links在需要时将用户重定向到其他应用程序(其他应用程序仍然支持universal links- 我可以通过按链接来运行它们Apple Notes app)。 我们最近过渡到WKWebView (from UIWebView),这提供了更好的体验。但是更新之后Universal Links停止工作,当用户按下我们应用程序内的链接时,我们无法启动其他应用程序。

根据文档:

“通用链接让 iOS 9 用户在点击链接时可以打开您的应用程序 您的网站位于 WKWebView 和 UIWebView 视图以及 Safari 页面中, 除了导致调用 openURL: 的链接之外,例如那些 发生在邮件、消息和其他应用程序中。”

Source:https://developer.apple.com/library/ios/documentation/General/Conceptual/AppSearch/UniversalLinks.html

看起来WKWebView不处理Universal Links。我的问题是,我是否缺少一些特殊配置WKWebView或者这是WebKit漏洞?我正在按照提供的方式创建网络视图:

WKWebViewConfiguration *config = [[WKWebViewConfiguration alloc] init];  
config.allowsInlineMediaPlayback = YES;  
config.processPool = // Here I'm using shared process pool  

self.webView = [[WKWebView alloc] initWithFrame:CGRectZero configuration:config];  
self.webView.translatesAutoresizingMaskIntoConstraints = NO;  
self.webView.clipsToBounds = YES;  
self.webView.allowsBackForwardNavigationGestures = YES;  

if (SYSTEM_VERSION_GREATER_THAN_OR_EQUAL_TO(@"9.0")) {  
  self.webView.allowsLinkPreview = YES;  
}  
[self addSubview:_webView];

为了显示问题,我使用简单的应用程序创建了简单的存储库(https://github.com/apan06/UniversalLinks- 初始化非常简单)。有两个网络视图 -WKWebView and UIWebView两者都有简单的 html,只有链接Twitter. WKWebView只需加载Twitter页。另一方面UIWebView open Twitter应用程序。只要记住: - 在设备上测试它Twitter安装应用程序,如果您没有Twitter app或者不喜欢 Twitter 您可以更改链接 - 我正在测试它iPhone 6 with iOS 9.2.1

Thanks!


我相信 WKWebView 中存在一个错误,如果未设置导航委托,它会忽略通用链接。尝试设置 WKWebView 的导航委托。您不必实现任何委托方法。

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

通用链接不适用于 WKWebView 的相关文章

  • 如何将CIFilter应用到UIView上?

    根据Apple docs 过滤属性CALayer不支持iOS 当我使用正在申请的应用程序之一时CIFilter to UIView即 Splice Funimate 和 Artisto 的视频编辑器 Videoshow FX 这意味着我们可
  • TTTAttributedLabel 可点击截断标记

    我有一个 TTTAttributedLabel 并为其指定了一个自定义属性截断标记 NSAttributedString atributedTruncationToken NSAttributedString alloc initWithS
  • 当 ViewController 从 UIStoryboard 实例化时,isMemberOfClass 返回 no

    我有一个 OCUnit 测试类 PatientTestViewControllerTests 下面是界面 interface PatientTestViewControllerTests SenTestCase property nonat
  • UILabel UILongPressGestureRecognizer 不起作用?

    我怎样才能得到UILongPressGestureRecognizer在 uilabel 当我实现以下代码时 它不会调用该函数 那么请告诉我我做错了什么 UILongPressGestureRecognizer longPress UILo
  • 子类 PFObject 上的 PFUser 属性

    我使用以下类 动态属性以及 m 文件中的 load 和 parseClassName 方法 对 PFObject 进行了子类化 interface DAOpponents PFObject
  • 领域:结果 和列表

    是否可以转换Results
  • 如何在 Firebase Analytics 事件中报告参数

    我用过Fabric with iOS在此之前 在同一分析事件中报告自定义参数非常容易 如下所示 Answers logCustomEvent withName saved border customAttributes image inde
  • 从 IOS 应用程序注销的完美方法是什么?

    下面的代码可以工作 但有一个错误 场景是 我首先登录进入应用程序系统 登录成功后 应用程序将设置 UserDefaults UserId 之后 我可以使用存储的 UserId 导航应用程序视图 一旦我进入设置和选项卡注销 这将清除 User
  • 在 IOS 中从 iPhone 删除资产(图片或视频)

    我正在开发一个 Iphone 应用程序 我可以使用 Assetslibrary 枚举资产并将它们加载到表视图中 用户可以在应用程序中删除一行 图片 视频 但如何直接从我的应用程序更新 Iphone 相册 否则 刷新时 表视图将重新加载之前删
  • 对于使用 CCCrypt() 的 AES128,密钥可以长于 128 位吗?

    我正在使用CCCrypt https developer apple com library archive documentation System Conceptual ManPages iPhoneOS man3 CCCrypt 3c
  • iOS:滚动视图仅在键盘出现后才起作用

    我制作了滚动视图 其中有很多文本字段 我添加了更新的 TPKeyBoardAvoidingScrollView 并将其添加到滚动视图的文件所有者中 我在 h 文件中添加了插座 在 m 文件中综合并添加了行 self view addSubv
  • 如何向 UIView 添加大小调整手柄?

    我试图根据用户请求在运行时动态创建视图 UIImageView 和 UITextView 然后允许用户移动它们并调整它们的大小 除了调整大小之外 我的一切都工作得很好 我尝试使用捏合手势识别器 但发现它对于我想要的东西来说太笨拙了 因此 我
  • 如何右对齐 UILabel?

    Remark 实施 myLabel textAlignment right does not解决了我的问题 这不是我所要求的 我想要实现的是让标签对齐右对齐 为了更清楚地说明 这就是如何left对齐外观 就是这样justify对齐外观 if
  • 查找已用应用程序名称的捆绑包/开发人员

    我正在尝试将应用程序上传到应用程序商店并收到以下错误 很容易理解 The App Name you have entered has already been used 该应用程序不在 iTunes 上 有什么方法可以找出谁拥有该应用程序或
  • 以编程方式从底部裁剪图像

    我正在开发自定义相机应用程序 一切进展顺利 但我在从底部裁剪图像时遇到了问题 即 裁剪后的图像与原始图像具有完全相同的宽度 但高度将为原始图像的 1 3 并且必须从底部开始 斯威夫特3解决方案 func cropBottomImage im
  • NSTimer 不触发选择器

    在带有 ARC 的 ios5 0 中 在我的 rootviewcontroller 中 我调用由应用程序委托持有的安全管理器对象中的方法 在该方法中 我设置计时器如下 NSTimer timer NSTimer scheduledTimer
  • Cordova 在 iOS 中显示警告“线程警告:[您的函数]花了 [n] 毫秒”

    THREAD WARNING Console took 81 661865 ms Plugin should use a background thread 在跑步的时候iOS 手机差距项目 对于一些剩余的插件 例如地理位置和文件系统 也是
  • 如何使用 Core Graphics 在我的触摸位置绘制一个圆圈?

    新程序员来了 我在尝试使用 Core Graphics 在触摸位置周围绘制描边弧时遇到问题 我有绘制圆圈的方法工作正常 并且我已经测试并在点击屏幕时注册触摸 但是当我尝试在点击时调用绘制圆圈的方法时 我收到错误 CG ContextBlah
  • 将 UIButton 中的图像缩放到 AspectFit?

    我想将图像添加到 UIButton 并且还想缩放图像以适合 UIButton 使图像变小 请告诉我该怎么做 这是我尝试过的 但它不起作用 将图像添加到按钮并使用setContentMode self itemImageButton setI
  • 设置/覆盖 UICollectionView 中单元格之间的填充

    我有一个 UICollectionView 但在获取单元格之间的填充时遇到了问题 理论上 我应该能够将屏幕除以 4 并且我可以获得包含 4 个图像的单元格大小 完美地占据屏幕宽度 但是 它选择不这样做 相反 它会创建 3 个具有巨大填充的图

随机推荐

  • 带撇号的 php 参数

    我有带撇号的字符串参数 我需要将其传递到另一个 php 页面 我的代码是 echo
  • 将 Img 源与 php 变量一起使用

    我想在 WP 循环内使用一些缩略图生成的图像 代码如下所示 if thumbnail wpbdp get option use default picture thumbnail http images thumbshots com ima
  • 如何在java中使用^DG命令将图像发送到斑马打印机?

    有谁知道如何在java中将图像 例如 bmp文件 转换为十六进制字符串 以便十六进制字符串可以在 DG命令 zpl中的命令之一 中使用 谢谢 我写了一个java例子可以做到这一点 您还可以创建 ascii 十六进制代码或压缩的 ZPL 代码
  • 构建 WSO2 4.1.x 是否需要 Sun/Oracle JDK?

    Is Sun Oracle JDK构建 WSO2 4 1 x 需要吗 我尝试用OpenJDK 但遇到了以下问题 ERROR Failed to execute goal org apache maven plugins maven comp
  • jQuery if has() 选择器执行操作

    ul li text li ul http jsfiddle net wZ8MC 2 jQuery document ready function if jQuery bad drifting has em jQuery bad drift
  • 如何在正则表达式中使用变量(TCL/Expect)

    我试图弄清楚如何在正则表达式匹配中使用字符串 我在谷歌上搜索了一个小时 想我应该问问专家 这有效 usr bin expect set MYSTR value if regexp nocase MYSTR outcome matchresu
  • 过滤/消除噪音

    问题很简单 如何去除数据中的噪音 我已经制作了一些 x 和 y 值以及一些噪声 这些噪声是我正在处理的数据的总体简化 除了随机噪声之外 我无法使其与我必须处理的噪声相同 我真的不知道我是否需要过滤或平滑 我的文件包含两组需要绘制的数据 并且
  • std::vector 的 MPI_Gatherv 问题

    我无法获取MPI Gatherv使用 std vector 我编写了一个小程序 应该用rank 1的整数填充向量 以避免0 因为向量初始化为0 这只是一个使用 2 个 MPI 进程运行的示例程序 我意识到它的可扩展性不太好 include
  • 作业中存储过程的并行执行 (SQL Server)

    简短的 我有五个存储过程 每个存储过程都没有依赖项 相同的事情是它从五个不同的服务器提取数据 我们只是将其整理并提供给我们的服务器 问题 我们已将这五项任务安排在一个作业中 分为 5 个不同的步骤 我想并行执行它而不是顺序执行 额外的 如果
  • 将 double 转换为 int 的结果是错误的

    当我运行以下代码时 似乎存在某种模糊的舍入错误 int roundedTotal int PriorityJob 100 0 最初PriorityJob 1 4 and roundedTotal未定义 评估PriorityJob 100 0
  • 升级到Spring Boot 1.4.0后,AbstractPlatformTransactionManager中出现NullPointerException

    我已从 Spring Boot 1 3 2 升级到 1 4 0 现在无法启动我的应用程序 我的BeanPostProcessor调用 3d party 开源 Lazy Chopper 当尝试getTransaction 这里失败 publi
  • 如何根据 Javascript 中的属性组合两个不同大小的对象数组?

    我有两个长度不同但共享相似信息的对象数组 qrySearchLocID LocalLabID 123f SystemID 5000152 AppLabID 3 LocalLabID 12BC SystemID 5000384 AppLabI
  • 在 Docker 容器内使用 ldap

    我有 2 个 docker 容器 第一个 docker container 内部是我的 lamp 应用程序 其中包含 php 7 3 4 apache2 第二个里面是mysql数据库 我尝试连接第一个容器内的 LDAP 服务器 我继续进入
  • 复合 JTree 节点允许事件传递到下面的对象

    我正在尝试创建一个 JTree 其中一些节点是包含 JLabel 和 JButton 的复合对象 Node 代表 JLabel 显示的服务器和端口 JButton 将使用 Desktop API 打开默认浏览器并转到 URL 我已经阅读了以
  • 如何在 PHP 中减小图像大小而不损失质量 [关闭]

    Closed 这个问题需要多问focused 目前不接受答案 我正在尝试开发一个基于图像的网站 我真的对更快的页面加载速度和最佳压缩实践的最佳图像类型感到困惑 请告诉我压缩图像大小的最佳方法 如果您希望使用编码本身来减少大小 您可以在 ph
  • 取消 UILocalNotification

    我的 UILocalNotification 有问题 我正在用我的方法安排通知 void sendNewNoteLocalReminder NSDate date alrt NSString title some code UILocalN
  • 在 JavaScript 中使用标签

    你能向我解释一下如何在与break交互的语句上使用标签 switch while do和for 请举例说明 通常 我看到它在突破到外循环 var i j dance for i 0 i lt 20 i for j 0 j lt 20 j c
  • 在 Pandas 中使用 read_csv 处理不需要的换行符

    我对从 SAP 导出的数据有疑问 有时您可以在发布文本中找到换行符 本来应该在一行中的内容却变成了两行 这会导致一个非常糟糕的数据框 最烦人的是 我无法让 pandas 意识到这个问题 它只是读取那些错误的行 即使列数小于标题 错误 dat
  • RAILS,捆绑安装返回 - 未定义符号:SSLv2_method [重复]

    这个问题在这里已经有答案了 可能的重复 未定义的符号 运行捆绑安装时的 SSLv2 method 我尝试 捆绑安装 我的 Rails 项目 但出现此错误 Fetching gem metadata from https rubygems o
  • 通用链接不适用于 WKWebView

    I have web view基于应用程序和公司中的其他本机应用程序 我们正在使用universal links在需要时将用户重定向到其他应用程序 其他应用程序仍然支持universal links 我可以通过按链接来运行它们Apple N