关闭某个 url 上的 SFSafariViewController

2024-04-16

当我到达某个页面时,我试图关闭 SFSafariViewController。

但在明确按下“完成”按钮之前我无法执行此操作 由用户。

我想要的是在到达某个页面时立即获取 URL,然后关闭视图控制器。 然后我可以用这个选择剩下的

func safariViewControllerDidFinish(_ controller: SFSafariViewController){
    // do work here
}

注意:这个问题之前已经被问过,但我找不到任何 满意的答复


如果您为应用程序注册 URI 方案,则页面上可能会有一个链接,可带您返回应用程序。那时你将处于

func application(_ app: UIApplication, open url: URL, options: [UIApplicationOpenURLOptionsKey : Any] = [:]) -> Bool {

你的AppDelegate,你可以做任何你想做的事。

“因为 Safari View Controller 可以访问用户的 凭证,通过 iCloud 钥匙串在所有设备上同步, 登录将变得轻而易举。[…]需要两个步骤。首先 是您使用自己的应用内浏览器的地方,只需提供一个 SFSafariViewController 的实例。

一旦用户完成登录,第三方网站 服务使用您设置的自定义 URL 方案重定向回您的应用程序 喂了它,你可以在你的AppDelegate的handleOpenURL中接受它 方法。

从那里您可以检查响应并驳回实例 SFSafariViewController 因为你知道身份验证是 完毕。

就是这样。两步。”

Source: http://asciiwwdc.com/2015/sessions/504#t=1558.026 http://asciiwwdc.com/2015/sessions/504#t=1558.026

请注意handleOpenURL方法已被弃用,有利于application:openURL:options:.

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

关闭某个 url 上的 SFSafariViewController 的相关文章

随机推荐

  • 如何更新 C# 和 SQL Server 中的值? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 这是我的程序 应该更新包含 3 列的表中的分数 id nickname scor Otherform id1 is the id需要更新的
  • Docker for ARM64 (Raspberry Pi 4) 上的 Android SDK 用于构建 APK

    我正在尝试创建一个ARM64 Docker 镜像它能够构建我的 React Native 应用程序的 apk 文件 背景 为了练习目的 我使用 5 个 Raspberry Pi 4 板构建了一个 Kubernetes 集群 一切工作正常 J
  • 按数组类型查询 - MongoDB

    我必须按类型查询我的 mongoDB 集合 假设我有这两个文件hello收藏 id ObjectId 56684ee0f597654b99d0d636 name Scrooge surname McDuck address road Mon
  • 如何在 Python 中发送包含一些非 ASCII 字符的电子邮件?

    我正在使用 Python 3 7 并尝试使用 smtplib 发送电子邮件 只要消息不包含任何土耳其字符 例如 我的脚本就可以完美运行 到目前为止我发现的唯一可行的解 决方案是使用 string string encode ascii ig
  • 设置 UIPopOverController 大小

    我有一个view里面有一堆按钮UIScrollView 当用户按下按钮时 我希望显示一个 UIPopOverController 指向所选按钮 它有点工作 但是弹出窗口的大小错误并且指向视图中的随机点 这是我的代码 void detail
  • 如何将 Maven 存储库 jar 添加到 Eclipse 构建路径?

    从 Eclipse 中 我可以在 Maven 存储库视图中看到所有必需的 jar 但我有大约 100 个缺少 jar 文件的错误 所以我设置了 M2 REPO 环境变量 我已经从命令行运行了 mvn eclipse eclipse 命令 当
  • WINAPI 带有自定义边框的编辑控件

    在纯 WinAPI 无 MFC 中实现编辑控件的自定义圆形边框的正确方法是什么 我需要像这样的边框编辑 我应该子类化编辑控件并在 WM NCPAINT 或类似的东西中进行自定义绘画吗 我想你有两个选择 正如你所说 你可以子类化并覆盖WM N
  • 从 Django 调用 Scrapy Spider

    我有一个项目 在同一工作区中包含 django 和 scrapy 文件夹 my project django project django project settings py app1 app2 manage py scrapy pro
  • 循环日期范围

    在Python3中 我可以像这样循环遍历一系列日期 import datetime dt0 datetime datetime 2017 1 1 0 0 0 dt1 datetime datetime 2017 1 5 0 0 0 dt d
  • Spring @Async 限制线程数

    我的问题与这个非常相似 Async 阻止一个线程继续执行 直到其他线程完成 https stackoverflow com questions 4324212 async prevent a thread to continue until
  • Discord 机器人添加对消息的反应discord.py(无自定义表情符号)

    我一直在尝试使用discord py创建一个机器人 在阅读后使用discord py添加对消息的反应this https stackoverflow com questions 48982061 how do you have a bot
  • xamarin.forms 中的导航如何工作?

    由于我在 android 中的应用程序中使用 xamarin forms 因此我必须从一个页面导航到另一个页面 我的问题是 从一个页面导航到另一页面是否会将其添加到导航堆栈中 例如 如果我的应用程序有导航 例如第1页 gt 第2页 gt 第
  • if (static_cast(x)) 与 if (x)

    我有一位同事经常在条件语句中对 bool 进行显式强制转换 如下所示 SomeType ptr some value if static cast
  • 如何在aspx页面中的javascript中读取web.config中的值

    我在 aspx 文件中有一段 javascript 代码 在我的脚本函数中 我尝试从 web config 读取 SiteRootURL 值 如下所示 var k alert k 这是行不通的 当我添加上面的代码时 我的 aspx 页面顶部
  • .NET 3.5 处置注册表项

    我有以下代码 RegistryKey installKey Registry LocalMachine OpenSubKey installKey 我正在我的代码上运行静态分析工具 它给了我一个缺陷 说我从方法中返回而没有处理安装密钥 我知
  • 如何在Scrapy中迭代div?

    这可能是一个非常微不足道的问题 但我是 Scrapy 的新手 我试图找到问题的解决方案 但我只是看不出这段代码有什么问题 我的目标是废弃给定网站上的所有歌剧节目 每个节目的数据都位于一个具有 row fluid row performanc
  • JSON 到带有关系的核心数据

    下列的Ray Wenderlich 的新教程 http www raywenderlich com 15916 how to synchronize core data with a web service part 1我能够获取 JSON
  • Scrapy中如何控制yield的顺序

    帮助 阅读下面的scrapy代码和爬虫的结果 我想从中抓取一些数据http china fathom info data data json http china fathom info data data json 并且仅Scrapy被允
  • 在 PHP 中将静态方法作为参数传递

    在 PHP 中是否可以做这样的事情 myFunction MyClass staticMethod 这样 myFunction 将拥有对静态方法的引用并能够调用它 当我尝试它时 我收到 未定义的类常量 PHP 5 3 的错误 所以我想这不是
  • 关闭某个 url 上的 SFSafariViewController

    当我到达某个页面时 我试图关闭 SFSafariViewController 但在明确按下 完成 按钮之前我无法执行此操作 由用户 我想要的是在到达某个页面时立即获取 URL 然后关闭视图控制器 然后我可以用这个选择剩下的 func saf