我正在实施一个处理自定义协议的iOS应用。 在我的AppDelegate中编写方法应用程序(openURL:sourceApplication:annotation :)很简单,但我还有一个问题:我想要 - 一旦用户完成了请求 - 我的应用程序移到后台并发送用户返回调用者sourceApplication(例如浏览器,QRCode阅读器或任何其他应用程序)。
这就像" tel:"之间的区别。和" telprompt:" url调用:在前一种情况下,手机应用程序保持活动状态,在后一种情况下,在通话后,用户将发送回sourceApplication。
为了让我的应用程序处理我的自定义协议,例如" telprompt:"是的,我能想到的唯一方法是在用户操作完成后终止应用程序...但这违反了iOS人机界面指南(他们说"不要以编程方式退出")我的应用程序可以被Apple拒绝。
在Android上很简单:你用一个Activity响应一个Intent,当你在那个活动上调用finish()时,用户会回到他之前的app / browser /中。
任何人都知道在iOS上实现这一目标的好方法吗?
只是为了澄清:
我的应用不会调用openUrl,它会响应来自浏览器,QRCode阅读器和其他应用的openUrl请求;
我不打电话;
当我处理请求时,我会询问用户一些数据,联系服务器,这就是它:交互已经完成,将用户带回以前的应用程序是非常好的让他使用主页按钮。
答案 0 :(得分:0)
我相信你应该在完成后调用openUrl,在源代码中使用源代码网址。
当你使用"连接Facebook"时,Facebook会做什么? API。