美文网首页
ShareSDK分享不回调的奇葩问题

ShareSDK分享不回调的奇葩问题

作者: 生命不止运动不息 | 来源:发表于2021-02-25 09:57 被阅读0次

    最近在升级一个将近10年的老项目。哈哈哈哈,贼吉尔的乱。

    其中就用分享功能,使用pod管理三方库,其中就有 sharesdk。

    抛出问题:

    如下函数,调用后,就是不回调,配置参数等都无问题。
    [ShareSDK share:(SSDKPlatformTypeWechat) parameters:shareParams onStateChanged:^(SSDKResponseState state, NSDictionary *userData, SSDKContentEntity *contentEntity, NSError *error) {
    NSLog(@"分享回调")
    }];

    进入正题前,先吐槽一句,因为是升级吗,有些三方库都要升级,但是打开podfile文件,居然三方库后面没有一个是跟着版本号的。也就是现在用的什么版本,完全不知道。

    最后只能 重新指定最新的版本号,然后pod install. 然后就会出现一堆错误。

    开始一个一个修改,错误都适配完了,测下功能吧,傻眼了,怎么点分享就是不回调,啥信息没有,三方平台也调不起来。

    依次排查不回调问题吧

    1.先查看三方平台平台分享配置,然后清理缓存。
    2.再查看三方库新版本的api,调用是否正确。
    3.检查三方api是否不小心被hook了.

    综上,所有的排查完毕,依旧没鸟用。

    1. 那TM的用相同的api,写个demo吧,如果demo也有问题,就找客服。
      demo一运行,傻眼了,demo完全正常。

    5.继续傻眼中,肿么办?Baidu吧,无相关答案。

    6.终极大招,排除法吧,复制一份项目,删掉所有代码,只保留分享部分。
    运行,哇擦,成功了。 由此得意的确定:工程配置没有问题,是TM的其他代码的问题。

    7.好,继续排查是哪些代码的问题,再复制一份项目代码,注释掉AppDelegate中的无关代码,只保留分享VC的部分。
    运行:哇靠,成功了。 嗯呵,终于让我找到了,就是AppDelegate中调用的几个代码的问题。

    8.既然确定了是这几个代码的问题,那就回 项目中,试试吧。
    在原项目中,也注释掉AppDelegate中的无关代码,运行,shit, 依旧不调用。
    什么鬼,明明复制的项目可以啊,怎么一到原项目就不可以了。

    9.继续在复制的项目上,索性把原项目的AppDelegate文件复制过来。运行,是正常的。
    什么鬼。代码都一样,复制的就可以,原来的就不可以。

    10.那就把原项目 再复制一个,运行,居然是正常的。见了个鬼了。居然不是代码的问题。

    1. 工程没问题,配置没问题,代码没问题,那能是什么问题????
      难道是路径问题?? 验证一下。
    注意(答案来了)
    1. 那就给原项目的 所在目录,改个名字吧。 运行,彻底傻眼,居然。。。 成功了。 回调了,老天爷啊,一天了,终于回调了。

    嗯?,原因竟然是 pod更新完sharesdk,改一下工程代码的路径,就可以回调了。

    分析

    估计是XCode缓存问题,要么是pod缓存问题。不怪人家三方库。

    相关文章

      网友评论

          本文标题:ShareSDK分享不回调的奇葩问题

          本文链接:https://www.haomeiwen.com/subject/jfsyfltx.html