gpt4 book ai didi

ios - URL Scheme iOS |以编程方式开源应用程序

转载 作者:塔克拉玛干 更新时间:2023-11-02 20:30:33 24 4
gpt4 key购买 nike

我有 2 个 iOS 应用程序,使用 URL Scheme 我可以通过 A 打开应用程序 B我在 B 中创建了 URL Scheme 并使用 OpenURL 从应用程序 B 调用它。另外,我能够传递数据。

但我正在寻找的是,是否有一种方法可以在某些特定事件上返回到应用程序 A

B 中,我在 sourceApplication 中获取有关 A 的所有详细信息,但如何返回?

我们是否需要为两个应用程序创建 URL Scheme 以便相互通信?或者有什么方法可以调用 sourceApplication 并返回?

问题 1

Facebook SDK 的情况下, 我为我的应用程序创建了 URL Scheme,因为一旦身份验证完成,我希望 Facebook SDK 调用我的应用程序没错,但我没有在 Facebook SDK info.plist 中注册我的应用 scheme。它是如何工作的?

第 2 期我已经在模拟器和设备上都试过了。如果我调用 canOpenURL 它会给我一个错误

-canOpenURL: failed for URL: "openb://" - error: "This app is not allowed to query for scheme openb"

但是如果我直接调用 UIApplication.shared.open 它会成功启动应用程序。

这里有线索吗?

最佳答案

如果你想从另一个 iOS 应用程序调用 iOS 应用程序,URL Scheme 就是这种方式。 URL 方案允许您通过您定义的协议(protocol)与其他应用程序通信。要与实现此类方案的应用程序通信,您必须创建格式适当的 URL 并要求系统打开它。要实现对自定义方案的支持,您必须声明对该方案的支持并处理使用该方案的传入 URL。

How to move back or open sourceApplication?

要实现这一点,您必须为这两个应用程序创建 URL Scheme

Issue 1 and 2

在 iOS 8 之前,每个人都使用 canOpenURL 来检查此 URL 是否存在,如果存在,则使用 openURL 来调用应用程序。但是,当很少有开发人员/应用程序开始使用它来跟踪用户 iPhone(安装了哪些应用程序)用于广告目的时,问题就来了。这就是为什么 Apple 提出了名为 URL Scheme Whitelist 的解决方案

因此,如果您想使用 canOpenURL,您必须将 URL Scheme 列入白名单,否则它会出现类似 error: This app is不允许查询方案,如果您想打开应用程序,请直接使用openURL

是的,它破坏了许多 SDK 登录流程,但它是有道理的。

欲了解更多信息,canOpenURL(_:)

关于ios - URL Scheme iOS |以编程方式开源应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47968480/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com