|
/

iOS分享微博、微博登录失败

Hh********23
发布于 7 个月前
74128来自浙江省
社会化分享 U-Share
功能使用

报警告:BUG IN CLIENT OF UIKIT: The caller of UIApplication.openURL(_:) needs to migrate to the non-deprecated UIApplication.open(_:options:completionHandler:). Force returning false (NO). 且回调未调用

使用的库是 pod 'UMShare/Core', '6.10.15'

pod 'UMShare/Social/WeChat', '6.10.15'

pod 'UMShare/Social/Sina', '6.10.15'

自己hook了UIApplication的openURL:方法,可以正常分享和登录,因此判定为SDK(也可能是微博SDK)内部问题,请及时修复

@implementation UIApplication (EMOpenURL)

+ (void)load {

static dispatch_once_t onceToken;

dispatch_once(&onceToken, ^{

[self jy_swizzleMethod:@selector(openURL:) withMethod:@selector(swizzled_openURL:)];

});

}

- (BOOL)swizzled_openURL:(NSURL *)url {

[self openURL:url options:@{} completionHandler:^(BOOL success) {

// 可以在这里处理完成回调

NSLog(@"Open URL completed with success: %@", success ? @"YES" : @"NO");

}];

// 根据系统提示,强制返回NO

return NO;

}

7个回答
 
7 个月前
来自浙江省

您好,根据您提供的错误信息,这是由于调用了已弃用的 UIApplication.openURL(_:) 方法,而需要迁移到 UIApplication.open(_:options:completionHandler:) 方法。建议您可以将旧的 UIApplication.openURL(_:) 方法替换为新的 UIApplication.open(_:options:completionHandler:) 方法。试一下。

 
7 个月前
来自浙江省

补充一下,手机系统为18.5

Loading ...
登录社区,分享你的经验