第一个坑

- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *,id> *)options
{return [WXApi handleOpenURL:url delegate:self];
}// 新增微信分享处理回调
// * 注意:如果不实现这个代理方法的话,会
// * 1、微信的自检方法只能进行到第5步并输出universal link fail,
// * 2、每次分享动作触发时都会显示正在连接的界面并跳转微信再跳转回app再跳转微信
- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler
{return [WXApi handleOpenUniversalLink:userActivity delegate:self];
}

注意:

- (BOOL)application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity restorationHandler:(void(^)(NSArray<id<UIUserActivityRestoring>> * __nullable restorableObjects))restorationHandler

这个代理方法在新版本微信分享sdk接入时,必须实现,否则每次跳转都会有问题。

第二个坑

当修改bundleid后,重新修改apple-app-site-association之后,记得卸载上次调试的安装包,重新运行

接入指南:关于openSDK1.8.6及以上版本的更新说明 | 微信开放文档

UniversalLink配置步骤

1.制作apple-app-site-association文件,并放置在准备好的链接根目录下,让后台人员给你这个https的链接,一定要https的(该步骤主要时后台人员操作)。apple-app-site-association的内容如下:
{
"applinks": {
        "apps": [],
        "details": [
            {
                "appID": "Team ID.com.xxx.xxxx",
                "paths": ["/sdkexample/*"]
            }
        ]
    }
}

其实就是一个json,apps数组不用管,details里面填入对应得appID和paths。appID就是用前缀+bundleID的方式,在App Store应用后台可以查看此前缀。paths则是可访问APP的对应页面路径,APP Delegate有对应方法可以获取, 可添加多个paths。

微信的apple-app-site-association实例:https://help.wechat.com/apple-app-site-association

微信的例子universal link为 https://help.wechat.com/sdksample/

Team ID:登录你的开发者账号即可查看

2. 举例:在根下创建的目录名为你写的paths中sdkexample

填写Domains, 格式为applinks:UniversalLink的形式, 如applinks:demo.xxx.com,  注意这里必须为裸的域名,不要加https或者文件名

第三种 如果以上都配置没有问题,微信的check方法也都是通过的

1、使用WXMediaMessage的mediaObject,这里需要注意充当mediaObject的WXFileObject对应的fillData(NSData)属性不能为空

否则会调不起微信

第三个坑

因为apple-app-site-association更新后,苹果的cdn服务器不是马上更新,所以会有延时

https://developer.apple.com/documentation/xcode/supporting-associated-domains

https://developer.apple.com/forums/thread/699401

iOS Universal Link 校验不通过,检查步骤如下

参考:https://www.jianshu.com/p/6e8ee6b37739

1、配置开发证书
略过。。。
2.配置Capabilitles
略过。。。
3.创建关联文件apple-app-site-association
{
"applinks": {
"apps": [],
"details": [
{
"appID": "Team ID.bundle ID",
"paths": [ "/app/", "/"]
},
{
"appID": "Team ID2.bundle ID2",
"paths": [ "" ]
}
]
}
}
注意
1、apple-app-site-association文件名没有后缀;
2、appID: teamId.yourapp’s bundle identifier。登陆开发者中心,在Account - Membership里面可以找到Team ID;
3、paths:设置你的app支持的路径,这个是要拼接到微信开放平台里去的;
4、一定要放在你的域名.well-known目录下面,比如:www.baidu.com/.well-known 亲测放在根目录下没有效果(当然你有效果当我没说);
4.测试Universal Link 是否成功
浏览器输入https://app-site-association.cdn-apple.com/a/v1/YourDomain这个链接查看,如果返回了apple-app-site-association的内容,表示已经成功。如果没有怎么办呢。终端输入curl -v https://app-site-association.cdn-apple.com/a/v1/YourDomain查看报错;
5.以上都没问题,直接浏览器输入Universal Link完整链接(一定要拼接apple-app-site-association文件里的路径),显示打开代表成功了;

新版本微信分享sdk(1.8.3)踩坑实录相关推荐

  1. android sdk引入 微信分享_微信分享sdk接入总结

    本文主要讲解android微信分享sdk的接入和中级遇到的一些问题解决. 首先需要在微信开放平台申请账号,新建一个应用,生成AppID. 1 下载微信SDK sample demo源码和生成签名的工具 ...

  2. 微信分享SDK接入——Java

    微信分享SDK接入--Java http://blog.csdn.net/change_on/article/details/75264843

  3. uniapp微信公众号h5开发--(微信开发回调、背景音乐自动播放、微信朋友分享、微信扫一扫)一站式踩坑

    微信公众号开发,一站式踩坑 开发前提:例如你们域名是https://www.baidu.com 配置nginx反向代理,把你项目的端口重定向到你们测试环境或线上环境域名 # 访问https://bai ...

  4. iOS 入门开发踩坑实录

    其实人生也没有什么道理可讲,但是我们不必丧气,还是要期待,人生有奇遇. 前言 苹果开发者:iOS Developer 最近因为工作需要要开始搞iOS了,简单记录下我收集和学习的过程. 学习资料准备 组 ...

  5. JAVA发布栅格图层_基于 WebGL实现自定义栅格图层踩坑实录

    以下内容转载自totoro的文章<WebGL-Y轴翻转踩坑实录> 作者:totoro 链接:blog.totoroxiao.com/webgl-flipY- 来源:blog.totorox ...

  6. Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇)

    Win 10 + Ubuntu 18.04 双系统安装与深度学习环境配置安装踩坑实录(上篇) 折腾了两三天总算顺利在电脑上完成了装x的双系统安装,一路走来还比较顺利,主要在ubuntu的显卡设置上躺了 ...

  7. PAT乙级题库踩坑实录

    PAT乙级题库踩坑实录 [截止2021.7.28乙级题库已经全部AC] 题目名称: 1030 完美数列 (25 分) 测试点3踩坑 每次取m后,不用从m后第一个元素开始判断是否大于mp,直接从m后第m ...

  8. qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录

    qt5.15.2-银河麒麟-龙芯国产化-项目打包踩坑实录 linuxdeployqt几乎是唯一解决方案,网上各种自己写脚本根据ldd去拷贝的,最后大概率都是segment default-除非你是纯Q ...

  9. HP Zbook 15重装ubantu18后,安装Nvidia驱动(踩坑实录,不推荐尝试)

    电脑型号:HP Zbook 15  G6 显卡:nvidia Quadro T1000 安装方式: 使用官方的NVIDIA驱动进行手动安装(经过安装方式和结果对比,强烈不推荐手动安装的方式,这就是一篇 ...

最新文章

  1. [置顶] java面试题经典20例【第三季】
  2. SpringBoot+Junit使用Autowired注入时为空
  3. vrep中remoteAPI 编程中遇到的没有预留命令执行时间遇到的问题
  4. java map集合使用_JAVA中Map集合的使用举例
  5. 钩子编程(HOOK) 安装进程内键盘钩子 (1)
  6. 【OpenCV学习笔记】【教程翻译】五 (车牌识别之OCR分割)
  7. kmeans算法及python实现
  8. MP3中设置播放顺序的软件《闪存式MP3伴侣》
  9. 内网访问高德地图nginx代理
  10. java两周考核期被辞退_试用期被辞退,会影响一整年,或整个职场生涯
  11. unity shader 入门 全透明与半透明效果实现
  12. 从浏览器中打开我们的应用
  13. 可以提升效率的待办清单APP
  14. shell脚本回车换行_终于搞懂了回车与换行的区别
  15. LeetCode:贪心算法(30道经典题目)
  16. 的c语言编程函数题,C语言编程题及答案Word版
  17. 【B站老男孩IT教育python课程学习笔记】Day02-计算机基础(二)处理器、操作系统
  18. 大地电磁正演程序MT2D主程序分析
  19. 华擎、映泰主板的网络唤醒(WOL)实例
  20. Dirichlet Process-非参数贝叶斯(1)

热门文章

  1. Adb shell命令直接打开语言设置界面
  2. JPA设置in参数时报错(Encountered array-valued parameter binding, but was expecting [java.lang.String (n/a)])
  3. 数学形态学之腐蚀算法
  4. 什么是信息技术外包?
  5. 全国各省一本和二本录取率2014年,用事实说话
  6. 用 C 语言编写的程序被称为,用c语言编写的程序被称为
  7. composer 安装 thinkphp
  8. [敏捷开发实践] 使用RACI Matrix划分敏捷团队的RR
  9. 面试题-评价一下你之前公司的领导、同事或之前学校中的导师、同学
  10. 汉字一、二级字库的汉字与unicode编码(十六进制)对照表,按照unicode的顺序排列 1