iOS微信分享不触发回调函数onResp()解决方法

    xiaoxiao2021-03-25  92

    此问题最近困扰了我三天,检查项目代码与网上方法对照,并没有发现不对的地方,跟断点调试,只发现微信分享后微信端并没有给应用反馈,onResp()没有触发。


    问题描述:

    线上iOS用户在第三方应用点击微信分享,无法执行分享后的操作。 用iPhone 5c(iOS 7)测试,跳转微信端分享完成后闪退到系统菜单界面,并没有返回第三方应用。微信分享实际已经完成,onResp()方法并没有回调。


    原因:

    查资料发现,由于微信SDK对iOS7支持性的问题所致。微信早期就发生过在iOS7平台上无法进行微信分享的问题。按照iOS微信SDK接入指南所说的,将所有参数语句配置完成后,依然无法调用onResp()方法。

    解决办法:

    由于问题是出现在线上的,极大多数iOS用户系统版本都在9以上,依然不回调onResp()。分析原因,微信SDK升级后对iOS 9以上平台放弃了两个旧的接口导致无法得到app的url路径。 (旧方法建议保留,老版本iOS还是会调用就方法)

    //被废弃的方法如下 -(BOOL)application:(UIApplication *)application handleOpenURL:(NSURL *)url; -(BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation; //替换的新方法 改用方法为- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary*)options;

    在新方法中加入

    [WXApi handleOpenURL:url delegate:self] //向微信注册app的url

    需要在Xcode项目属性的Info面板中设置URL Types。

    3月17日补充: 后来发现iOS 7 微信分享后闪退的原因了

    微信分享后回调到了主干版本客户端,导致大陆分支没收到微信的反馈。(这问题实在是太傻逼了。。。)

    转载请注明原文地址: https://ju.6miu.com/read-19964.html

    最新回复(0)