我的解决方案是:收到三方启动url后,延迟一下执行[WXApi handleOpenURL:url delegate:self];然后就走onReq:(BaseReq *)req方法了 代码如下: - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options { // 微信回调,字符串是自己在微信注册时的appkey if ([url.absoluteString containsString:@"wxXXXXXXXXXXXXXXX"]) { dispatch_after(dispatch_time(DISPATCH_TIME_NOW, (int64_t)(.35 * NSEC_PER_SEC)), dispatch_get_main_queue(), ^{ [WXApi handleOpenURL:url delegate:self]; }); return YES; } return YES; }
小程序冷启动App,handleOpenURL返回YES,但是onReq不执行点击小程序里打开App按钮,唤醒app(冷启动)。 会执行这个系统方法 - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<UIApplicationOpenURLOptionsKey, id> *)options 微信SDK的这个方法返回YES [图片] 但是onReq代理未执行 [图片] 另外App在后台的时候onReq是会执行的。 搜索了一下这个问题,基本都没有明确的回复或解答。 这个是bug,还是设计本身就是这样的。 友盟可以做到小程序冷热启动都可以接受到传过来的参数!!!Ta是怎么办到的?合作关系有特殊的权限吗?
2020-12-30