美文网首页codeER.tec
iOS之适配苹果Universal Links 和升级友盟的QQ

iOS之适配苹果Universal Links 和升级友盟的QQ

作者: 糖糖本尊 | 来源:发表于2020-06-09 10:47 被阅读0次
    b6xg.gif
    • 安逸的日子总是那么短暂,刚上完线,唏嘘人生是那么短暂而又漫长,刚准备进入安逸圈,结果晴天霹雳
      WechatIMG120.png
      这特么是啥 ,我没动啥代码哇,瞬间感觉蛋蛋有微微的疼痛,经过测试只有新系统(iOS13.5)的微信才会出现这个
      YmDA.jpeg
      这肯定是友盟整什么幺蛾子了,打开文档一看
      WechatIMG121.png
      瞬间明白了什么 ,我现在用的就是精简版 去看下pod 果不其然
      WechatIMG122.png
      这时候嘴角扬起一丝丝微笑,这不是升级就完事了,事情没你想的那么简单
      q5p5.jpeg
      pod完事了,运行结果掉不起微信了,没什么反应,控制台也不报错
      5xGg.jpeg
      行吧 不慌 再看看文档

    集成最新的微信和QQ的完整SDK,需要设置合法的Universal Links 这一句 ,然后思路就来了 面向百度开发

    WechatIMG123.png
    这原来是苹果整的幺蛾子,打开第一个跟着做就行,一定要服务端配合
    下面吗给出知乎的配置格式(https://oia.zhihu.com/apple-app-site-association),我是参考这个格式,其他的也行

    注意:如果你要分享到QQ,下面的格式一定要是/qq_conn/QQ互联给的AppId/

    QQ互联文档有说明,不然会一直效验Universal Links失败,然后你分享到QQ提示未验证应用类的提示


    9D49350E4EA7312A9BFEDFBDEEDA63F3.jpg
    9EA067BC-BA23-40C3-8F85-527BB91DDAA5.png
    A1095A83-8FB0-4502-804B-E808DD7D37E7.png

    上面的图片里面需要点击效验,验证通过才能成功分享到QQ,提示报错,是因为你的path路径有问题,一定要按照QQ给的路径去配(/qq_conn/QQ互联给的AppId/)

    {
      "applinks": {
        "apps": [],
        "details": {
          "AppId":"苹果证书的TeamId.你的Bundle.Identifier"{
            "paths": [
              "/app/***/*",
              "/qq_conn/QQ互联给的AppId/*"
            ]
          },
      "webcredentials": {
        "apps": [
          "苹果证书的TeamId.你的Bundle.Identifier"
        ]
      },
      "activitycontinuation": {
        "apps": [
           "苹果证书的TeamId.你的Bundle.Identifier"
        ]
      }
    }
    
    • 配置成功验证在Safari浏览器输入(https://你的域名/你的路径/)应该是这样的,就表示你配置成功*
      1289056-eea1f1910ef67df2.jpg
      下面你去运行还是一样的,下面分享集成友盟的坑
    6M0yr.gif
    • 运行应该控制台log下面的错误
     -canOpenURL: failed for URL: "weixinULAPI://" - error: "This app is not allowed to query for scheme weixinulapi"
    

    干就完事了 打开info.plist 添加weixinULAPI


    WechatIMG125.png

    重要的事情说三遍

    重要的事情说三遍

    重要的事情说三遍

    • 红色箭头的顺序不能写反了我发现在先后顺序也会掉不起来


      WechatIMG126.png
    • 看到这里你基本上可以成功掉起微信,很可能会在微信成功几秒游,闪一下,那么不要慌,加上这段代码,你就可以了

    此处建议卸载APP,然后加上下面代码后在重新运行

    -(BOOL) application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler {
        if (![[UMSocialManager defaultManager] handleUniversalLink:userActivity options:nil]) {
               // 其他SDK的回调
           }
        return true;
    }
    
    JBmqz.jpeg

    基本上注意以上的,你就可以成功掉起微信分享

    But

    短时间目测无法去掉未验证应用的帽子,微信开放平台有说明:

    420DBFE1ACEC1C86BC8A9BA4F33C04EC.jpg 7506136E4A69C0D9A42769E4433BC195.jpg

    后续检测到你的app有使用SDK的记录,会去掉这个帽子,我到现在也没去掉,可能是我们没发版

    q3Blp.jpeg b6xg.gif

    相关文章

      网友评论

        本文标题:iOS之适配苹果Universal Links 和升级友盟的QQ

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