ios - 如果不满足某个条件,你怎么能忽略一个通用链接?
问题描述
我们目前支持通用链接的通配符。所以我的应用链接看起来像:applinks:*.company.com
。
假设我只想处理一个链接,如果它是https://company.com/?query1=abc
假设我点击了一个链接https://company.com/?query1=123
由于不满足条件,我想忽略此链接并阻止我的 iOS App 响应它。这可能吗?
我以为我只能false
在continue:restorationHandler中返回,但这并不能阻止 iOS 应用程序打开。
解决方案
false
从返回application(_:continue:restorationHandler:)
不会导致 URL 被传递回 Safari(正如您所发现的那样)。该文档指出:
如果你没有实现这个方法或者你的实现返回 false,iOS 会尝试为你的应用创建一个文档以使用 URL 打开
所以返回 false 只会导致 iOS 尝试以不同的方式启动您的应用程序。
您可以做的是调用open(_:options:completionHandler:)
并传递您收到的 URL。然后该 URL 将在 Safari 中打开;iOS 不会向您的应用传递您的应用自行打开的通用链接,因为这可能会造成无限循环。
推荐阅读
- python - Python 子进程、通信和多处理/多线程
- c# - 如何将方向盘旋转到 Unity3D 中的原始旋转?
- php - 具有来自多个表的数据的 PIVOT 表 mysql
- python - 如何在python中连接X点和Y点?
- r - Linear mixed model confidence intervals question
- c++ - 为什么继承会强制对其他大小为零的结构进行膨胀?
- r - 在 R 中为抛物线创建函数,但不向上平移
- java - MacOS在终端运行java,VM初始化时出错
- command-line-interface - 如何使用 v3 的 nuget list 获取特定包的可用版本列表
- python - 使用 Python 将图像堆叠在一起