OpenFlutter / tobias

AliPay For Flutter.支付宝Flutter插件
Apache License 2.0
696 stars 116 forks source link

大佬,你好,咨询一个问题,请进来看看 #153

Closed WangYiOS closed 10 months ago

WangYiOS commented 10 months ago

首先,祝大佬新年快乐!

其次,问题如下:

Snip20240105_29

如上图所示,我在项目的ios文件AppDelegate.m里写了银联支付回调监听 方法: `

好在能收到tobias库回调的通知,打印了下,url.host为"safepay",

但生活得继续,我就用tobias的回调通知,url.host == "safepay",,再次发个通信到项目中,后续的界面进行操作,如下图:

Snip20240105_31

flutter项目里接受支付宝回调通知,进行界面处理,如下图

Snip20240105_30

我想咨询下大佬,

`

这个方法里,怎么写银联支付回调代码,才能不影响tobias库的支付宝回调通知,

目前,我这种奇巧写法,比较奇怪,

求大佬有空时给个思路,

JarvanMo commented 10 months ago

你不是做iOS的么?应该比我更懂,你return No 不就行了

WangYiOS commented 10 months ago

你不是做iOS的么?应该比我更懂,你return No 不就行了

手动捂脸,return No 并不行,我去调研下,容我理清楚,再来探讨,

JarvanMo commented 10 months ago

合理的return no不可能不行

WangYiOS commented 10 months ago

@JarvanMo

大佬,问题解决了,return no是必要条件之一,

解决问题步骤,如下:

步骤1: - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString*, id> *)options

这个方法,必须retun no,因为一旦返回YES,那么其他插件的这个方法就不会响应了。

步骤2: 简单说就是自己项目的AppDelegate.m的openURL方法拦截了tobias库的openURL方法,我们只需要super一样,即可调佣其他库的openURL方法,代码如下: Snip20240105_37