微信jssdk 自定义分享ios问题总结

1 分享功能前提条件必须保证通过config接口注入权限验证配置成功

需要将必备的数据配置成功,并且需要将你用到的签名注入在jsApiList数据里

参考文章

2 调试模式报错:invalid signature 很明显签名错误

当wx.config的debug设为true的话打开页面会显示签名是否成功,若显示 invalid signature,则是签名报错,这时候你就需要去检查你的签名配置

解决办法
1、确认签名算法是否正确,可用 http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=jsapisign 页面工具进行校验。
2、确认config中noncestr, timestamp与用以签名中的对应noncestr, timestamp一致。
3、确认 config 中的 appid 与用来获取 jsapi_ticket 的 appid 一致。
4、确认url是页面完整的url,包括GET参数部分。

参考文章

3 微信分享非安全域名链接导致分享失败

微信后面做了调整,参考文章,链接域名或路径必须与当前页面对应的公众号JS安全域名一致,否则将调用失败

也就是说,你的link必须是和你的公众号js安全域名一致。例如,当前页面是 http://www.abc.com/123,其公众号对应的JS安全域名为 www.abc.com 以及 www.xyz.com,则分享自定义链接 http://www.abc.com/456 可以成功,分享 http://www.xyz.com/123 或 http://www.def.com/123 均将失败。

如果说你分享跳转页面必须是非安全域名下的链接,那你可以单独做一个转发页面,通过转发链接进入这个转发页面后,再直接跳转到拼接好的授权页面。参考代码:非安全链接分享解决办法

4 需要对公众号进行认证

公众号平台是有权限的,你要确保你的公众号已经获得了分享权限功能。因为微信暂不支持个人类型的公众帐号申请微信认证。所以此类公众号无需进行认证就有分享权限,企业号什么的就自行去认证吧。

参考文章

5分享link链接里面不要是拼接的地址,直接写成固定链接

比如 link对应参数比如:‘http://baidu/a/b/c/x/xx/x ’不要写成‘http://baidu/‘+ url+’/a/b/c/x/xx/x’

参考文章

link参数带中文或者特殊字符

带中文的url在安卓中应该也是会出问题的,但是安卓会自动encodeURIComponent(),而ios不会。所以会出现安卓自定义可以正常分享,但是ios就不行。

参考文章

7 微信官方取消了cancel回调

还有一点需要注意,就是微信为了杜绝一些商家的强制分享,取消了cancel回调函数,也就是说,只要用户点击了分享按钮,就会出发success回调

参考文章

 

 

欢迎转载,转载需带着文章出处链接~~


遇到问题在更新~~~~

微信jssdk 自定义分享ios问题总结》有1个想法

发表评论

电子邮件地址不会被公开。

此站点使用Akismet来减少垃圾评论。了解我们如何处理您的评论数据