iOS Twitter登录无法收到回调数据
作为Android开发,在维护一个flutter的项目时,难免会碰到iOS的问题,简单记录一些问题解决的过程,如有错误欢迎各位指出。
问题:flutter项目经过一段iOS系统更新出现Twitter插件无法收到回调数据的问题?
解决:首先你需要确认接收数据的地方没有问题
- (BOOL)application:(UIApplication *)app
openURL:(NSURL *)url
options:(NSDictionary<NSString *, id> *)options {
return [[Twitter sharedInstance] application:app openURL:url options:options];
}
如果你使用了iOS的link还需要注意另外的几个方法,如下:
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray * _Nonnull))restorationHandler{
return [WXApi handleOpenUniversalLink:userActivity delegate:[FluwxResponseHandler defaultManager]];
}
- (void)scene:(UIScene *)scene continueUserActivity:(NSUserActivity *)userActivity API_AVAILABLE(ios(13.0)){
[WXApi handleOpenUniversalLink:userActivity delegate:[FluwxResponseHandler defaultManager]];
}
可以通过debug该方法查看是否产生回调。
如果没有回调需要进一步确认问题。
1.回调被拦截了,可能是回调被其他的插件拦截导致,没有分发到这里。
这个问题我是在一个插件上碰到的下面是插件地址
https://pub.dev/packages/receive_sharing_intent/changelog
这个bug导致我的微信无法收到回调
2.没回调,没回调的话查看我们配置的URL Schemes是否有问题
以上是我最近碰到的问题,记录一下