我有2个iOS
应用程序,使用URL Scheme
我能打开的应用程序B
通过A
像我创建URL Scheme
的B
,并使用OpenURL
从应用程序中调用它B
。另外,我能够传递数据。
但是我正在寻找的是,是否有一种方法可以A
在某个特定事件上返回到应用程序。
在B
我得到所有细节A
中sourceApplication
,但如何回迁?
我们是否需要URL Scheme
为两个应用程序创建相互通信?还是有任何方法可以调用sourceApplication
和移回?
第1期
在Facebook SDK,
我URL Scheme
为我的应用创建应用程序的情况下,因为完成身份验证后,我想正确Facebook SDK
地调用我的应用,但是我没有scheme
在Facebook SDK
info.plist中注册我的应用。它是如何工作的?
问题2我在模拟器和设备上都尝试过。如果我打电话canOpenURL
给我一个错误
-canOpenURL:URL失败:“ openb://”-错误:“此应用程序不允许查询方案openb”
但是,如果我直接调用UIApplication.shared.open
它,则会成功启动该应用程序。
这里有线索吗?
如果iOS
要从另一个iOS
应用程序调用应用程序,URL Scheme
则是这样。URL方案使您可以通过定义的协议与其他应用程序进行通信。要与实现此类方案的应用进行通信,您必须创建格式正确的URL并要求系统将其打开。要实现对自定义方案的支持,必须声明对方案的支持并处理使用该方案的传入URL。
如何移回或开源应用程序?
为此,您必须URL Scheme
为两个应用程序都创建一个。
问题1和2
在iOS 8之前,每个人都在使用它canOpenURL
来检查是否URL
存在此对象以及是否存在openURL
以调用应用程序。但是引起关注的是,很少有开发人员/应用程序开始使用它来跟踪用户iPhone(安装了所有应用程序)用于广告宣传等。这就是为什么Apple
提出了名为的解决方案的原因URL Scheme Whitelist
。
因此,据此,如果您要使用,则canOpenURL
必须将其列入白名单,URL Scheme
否则它将出现错误,error: This app is not allowed to query for scheme
并且如果您要openURL
直接打开应用程序,则该错误。
是的,它打破了许多SDK的登录流程,但这是有道理的。
有关更多信息,请使用canOpenURL(_ :)
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句