iOS代理了协议之后没法正常回调什么意思?

现在做一款应用无论是登录、汾享还是支付,都难免接入一些第三方应用例如微信、QQ、支付宝、微博、银联等。如果接入的应用比较多(例如我们的产品)处理它們的回调什么意思就变得非常重要。而处理这些回调什么意思的思路很简单根据 NSURL 的 host 属性判断回调什么意思的来源,然后调用相应的接口另外也可以使用其它方式判断回调什么意思的来源,例如使用 sourceApplication 或者 options 参数也可以不判断,而是依次调用第三方Api例如

//微信支付、微信分享、微信登录

上述代码的逻辑是,首先询问 WXApi 能不能处理这个 url 如果 url 不能被 WXApi 处理,那么接着询问 TencentOAuth 依次类推。

比较特殊的是 支付宝 和 银联支付 它们的SDK并没有判断是否能够处理某个 url 的接口,所以只能通过 url.host 或者其它变量判断是否由 支付宝 和 银联支付 处理该 url

常见的几个应用的相關场景的 url.host

最后贴一下我们的产品目前使用的代码

//微信支付、微信分享、微信登录 //微博登录、微博分享

其中 App 是单例对象,用来保存当前回调什么意思的处理者即 代理 对象。如果不喜欢单例模式还可以直接在 AppDelegate

文件中声明这些回调什么意思代理对象,并给其赋值

我要回帖

更多关于 什么是回调 的文章

 

随机推荐