- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有 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/
去年(2023年)年底我初学flutter,看了一些文档和教程,想找个东西*练练手。 小时候看过一个关于历史名人儿时事迹的短片,有一集是讲*总理的,有一个细节我记得很清楚:幼年***经常要做一个游戏
今天给大家分享一个我做的小工具,可以自定义扩展右键菜单的功能来提高工作效率,效果图如下: image 如上图,右键菜单多了几个我自定义的菜单
任何人都可以建议我应该使用什么程序/方法? 我需要有一个像谷歌地图这样的 map ,我可以在其中显示 map 、添加标记多边形等。 但是我不能依赖这样的在线服务,因为客户担心这样的服务会消失,我们的系
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 想改进这个问题?将问题更新为 on-topic对于堆栈溢出。 6年前关闭。 Improve this qu
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题? Update the question所以它是on-topic对于堆栈溢出。 11年前关闭。 Improve this qu
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be
您知道 EDA(电子设计自动化)领域有哪些开源项目正在寻找 C++ 程序员吗? 最佳答案 如果您经常关注 gEDA 的邮件列表,您也许能够加入 gEDA。详情:http://www.gpleda.or
如果现有Hadoop群集上有10个数据节点,则可以在4个或6个数据节点上安装NiFi吗? NiFi的主要目的是每天将数据从RDBMS加载到高容量的HDFS。 数据节点将配置为具有100 GB的高RAM
就目前情况而言,这个问题不太适合我们的问答形式。我们希望答案得到事实、引用资料或专业知识的支持,但这个问题可能会引发辩论、争论、民意调查或扩展讨论。如果您觉得这个问题可以改进并可能重新开放,visit
Closed. This question is off-topic。它当前不接受答案。
关闭。这个问题是off-topic .它目前不接受答案。 想改进这个问题吗? Update the question所以它是on-topic用于堆栈溢出。 关闭 10 年前。 Improve thi
关闭。这个问题不符合Stack Overflow guidelines .它目前不接受答案。 我们不允许提问寻求书籍、工具、软件库等的推荐。您可以编辑问题,以便用事实和引用来回答。 关闭 4 年前。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的图形验证码类库,今天我们继续为大家介绍其中的扩展动态对象类库。 扩展动态对象是整个工具库中最重要的一个设计。
【Github源码】 《上一篇》 介绍了Xmtool工具库中的Web操作类库,今天我们继续为大家介绍其中的图形验证码类库。 图形验证码是为了抵御恶意攻击出现的一种设计;例如用
【Github源码】 《上一篇》 介绍了Xmtool工具库中的发送短信类库,今天我们继续为大家介绍其中的XML操作类库。 XML操作是软件开发过程中经常会遇到的情况;包括XM
作者以 SciTime 项目(一个对算法训练时间进行估计的包)的发布为例,详细解释了发布的每个步骤。 注意:本文假设你在 GitHub 上已经有一个想要打包和发布的项目。 第 0 步:获取项
前言 今天大姚给大家分享一个C#开源(MIT License)、免费、简单易用的Dapper扩展类库,帮助.NET开发者使用Dapper的CRUD操作变得更简单:Dommel。 项目特性
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 卷积神经网络(CNN)通过从原始数据中自动学习层次特征表示,在图像识别任务中取得了巨大成功。虽然
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 血压的测量和预测是心脏病患者和有心脏问题的人的一个重要条件,应该保持持续的控制。在这项研究中,基
具体的软硬件实现点击 http://mcu-ai.com/ MCU-AI技术网页_MCU-AI人工智能 心血管疾病是最严重的死亡原因之一,每年在全世界造成严重的生命损失。持续监测血压似乎是最可行的选择
我是一名优秀的程序员,十分优秀!