【发布时间】:2020-10-03 15:39:04
【问题描述】:
我有一个 OAuth 授权代码工作流,它由我的 ViewController 启动并通过自定义 URL 方案重定向回我的应用程序。 SceneDelgate.swift 中的以下函数在外部应用程序完成授权后重新进入应用程序时会正确命中:
func scene(_ scene: UIScene, openURLContexts URLContexts: Set<UIOpenURLContext>) {
//I am able to get the authorization code and scopes from the URLContexts
}
查看 URLContexts 我可以看到我需要返回的数据(并且我知道如何提取它)。我的问题是我应该如何将这些数据传递到我的 ViewController,当继续通过这个 SceneDelegate 函数时,它看起来确实返回到了??
编辑:
我想要实现的是提取位于 scene() 函数的 URLContexts 参数中的 URL 参数字符串(authorizationCode)。然后我想将它传回给我的 ViewController,以便它可以处理需要完成的剩余工作。
【问题讨论】:
-
这太宽泛了。当 URL 进入时,你没有解释你想做什么,也没有关于你应该做什么的规则。您认为您想与视图控制器对话的想法可能是错误的。我试图在我的回答中进一步解释一下,但我不得不含糊其辞,因为这个问题含糊不清。 — 另外请不要将多个问题合二为一。
viewWillAppear没有被调用的事实是正常的,所以听起来你只是误解了该事件的含义。但这完全是另一回事。 -
@matt 试图准确描述我在编辑中想要实现的目标,并删除了第二个问题
-
好吧,就“然后我想将它传回给我的 ViewController”添加任何内容,我的回答告诉你答案。