URL 方案 iOS |以编程方式开源应用程序
URL Scheme iOS | Open Source Application Programmtically
我有 2 个 iOS
应用程序,使用 URL Scheme
我可以通过 A
打开应用程序 B
就像我在 [=] 中创建 URL Scheme
14=] 并使用 OpenURL
从应用程序 B
调用它。另外,我可以传递数据。
但我正在寻找的是,有没有一种方法可以在某些特定事件上返回到应用程序 A
。
在 B
我正在 sourceApplication
获取有关 A
的所有详细信息,但如何返回?
我们是否需要为两个应用创建 URL Scheme
以便相互通信?或者有什么方法可以调用 sourceApplication
并返回?
第 1 期
在 Facebook SDK,
的情况下,我为我的应用程序创建了 URL Scheme
,因为一旦完成身份验证,我希望 Facebook SDK
正确调用我的应用程序,但我没有注册我的应用程序 scheme
在 Facebook SDK
info.plist 中。它是如何工作的?
第 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 方案允许您通过您定义的协议与其他应用程序通信。要与实现此类方案的应用程序通信,您必须创建格式适当的 URL 并要求系统打开它。要实现对自定义方案的支持,您必须声明对该方案的支持并处理使用该方案的传入 URL。
How to move back or open sourceApplication?
为此,您必须为这两个应用程序创建 URL Scheme
。
Issue 1 and 2
在iOS8之前,大家都在用canOpenURL
来判断这个URL
是否存在,如果存在,就用openURL
来调用应用。但是,当很少有人 developers/apps 开始使用它来跟踪用户 iPhone(安装了哪些应用程序)用于广告目的时,问题就来了。这就是为什么 Apple
提出了名为 [=18] 的解决方案=].
因此,如果您想使用 canOpenURL
,则必须将 URL Scheme
列入白名单,否则会出现 error: This app is not allowed to query for scheme
之类的错误,如果您想打开应用程序直接使用 openURL
。
是的,它破坏了很多 SDK 登录流程,但它是有道理的。
更多信息,canOpenURL(_:)
我有 2 个 iOS
应用程序,使用 URL Scheme
我可以通过 A
打开应用程序 B
就像我在 [=] 中创建 URL Scheme
14=] 并使用 OpenURL
从应用程序 B
调用它。另外,我可以传递数据。
但我正在寻找的是,有没有一种方法可以在某些特定事件上返回到应用程序 A
。
在 B
我正在 sourceApplication
获取有关 A
的所有详细信息,但如何返回?
我们是否需要为两个应用创建 URL Scheme
以便相互通信?或者有什么方法可以调用 sourceApplication
并返回?
第 1 期
在 Facebook SDK,
的情况下,我为我的应用程序创建了 URL Scheme
,因为一旦完成身份验证,我希望 Facebook SDK
正确调用我的应用程序,但我没有注册我的应用程序 scheme
在 Facebook SDK
info.plist 中。它是如何工作的?
第 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 方案允许您通过您定义的协议与其他应用程序通信。要与实现此类方案的应用程序通信,您必须创建格式适当的 URL 并要求系统打开它。要实现对自定义方案的支持,您必须声明对该方案的支持并处理使用该方案的传入 URL。
How to move back or open sourceApplication?
为此,您必须为这两个应用程序创建 URL Scheme
。
Issue 1 and 2
在iOS8之前,大家都在用canOpenURL
来判断这个URL
是否存在,如果存在,就用openURL
来调用应用。但是,当很少有人 developers/apps 开始使用它来跟踪用户 iPhone(安装了哪些应用程序)用于广告目的时,问题就来了。这就是为什么 Apple
提出了名为 [=18] 的解决方案=].
因此,如果您想使用 canOpenURL
,则必须将 URL Scheme
列入白名单,否则会出现 error: This app is not allowed to query for scheme
之类的错误,如果您想打开应用程序直接使用 openURL
。
是的,它破坏了很多 SDK 登录流程,但它是有道理的。
更多信息,canOpenURL(_:)