关于ios配置微信config出现验签失败的问题解决

在开发中,出现了一个关于微信配置的问题。

使用的开发工具以及开发框架为 uniapp , JSSDK为 jweixin

使用uniapp进行公众号开发,需要在进入某个页面时候进行微信配置来达到更改分享信息的效果。

问题描述:

  请求后台获取了微信配置参数并配置了微信参数后

  在ios手机上显示验签失败,功能无法使用。

  在微信开发者工具、安卓端验签成功,功能正常。

  经测试,ios端刷新页面后,验签即正常,所以,配置参数没有问题。

解决方案:

1.(不推荐)

  通过jweixin.error监听失败事件,如果有失败,则刷新页面。

  虽然一般刷新一次就可以配置成功,但仍需要需要控制刷新次数 ,避免不断刷新 ,我是通过加url参数的形式 ,如果location.search中不存在retry,则进行刷新。

错误监听示例代码:

if( err ){
        let search = location.search;
        if(  search ){
            if(  !search.includes('&retry')  && !search.includes('?retry')  ){
                location.href += '&retry=1'
            }
        }else{
            location.href +='?retry=1'
        }
    }

2.(推荐)

  通过测试发现,发生该错误的原因为,通过uniapp的api uni.navigateTo 跳转到页面时,ios获取到的location.href是错误的地址(虽然打印出来没错),

  所以导致验签失败。而方法一执行刷新后之所以可以,因为是使用location来进行跳转。

  解决方案: 将跳转进入页面的跳转代码 由 uni.navigateTo 改成 location.href = 页面名。

到此这篇关于关于ios配置微信config出现验签失败的问题解决的文章就介绍到这了,更多相关ios微信config验签失败内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

时间: 2021-04-18

解决SDK注入权限验证安卓正常,IOS出现config fail的方法

实测有效 解决微信游览器和企业微信游览器JSSDK注入权限验证 安卓正常,IOS出现config fail 一开始我们想到的是可能微信这边的Bug,但细想一下应该不是.因为可能涉及到了IOS的底层原理的问题,可能是不受微信所控.(有问题欢迎拍砖) 出现问题得解决问题啊,不能把问题晾在那边不管,这是程序员的尊严! 我这个是SPA应用,所以拿其中一个vue项目来做探讨,其他SPA应用同理 首先我们想到在安卓中生效,在IOS中不生效是什么原因? 我们把所有设置都检查了一遍,最终发现是当前路由locat

iOS mobileconfig配置文件进行签名的配置方法

配置描述文件(.mobileconfig) 是XML文件,包含设备安全策略.VPN配置信息.Wi-Fi设置.APN设置.Exchange帐户设置.邮件设置以及允许iPhone和iPod touch与企业系统配合使用的证书.本文描述了苹果开发者如何使用SSL证书对. mobileconfig进行签名,从而确保iOS系统上的app安全性. 前提条件 确保已经获取SSL数字证书.有关获取数字证书方法,可参阅如何获取数字证书. 本文使用的SSL证书文件名为mbaike.crt. 与SSL证书对应的私钥.

浅析iOS的Xcconfig

背景 在xcode中多人协作时,很容易发生冲突,尤其是项目的配置文件,仅仅是在build settings 修改一点东西就出现巨大的冲突,commit 时在project setting 中就会发现N多有时会有好几处修改,这时候xcconfig 就发挥强大的作用了,咱们就可以通过 xcconfig 文件来解耦工程设置 什么是Xcconfig xcconfig文件其实就是xcode里的config文件,本质是一个用来保存Build Settings键值对的纯文本文件.这些键值对覆盖Build Se

浅析iOS给图片加水印的方法

话不多说,直接上代码 新建了一个UIImage的类目,在.h中声明 + (UIImage *)imageWithimage:(UIImage *)image content:(NSString *)content frame:(CGRect)frame; .m如下 + (UIImage *)imageWithimage:(UIImage *)image content:(NSString *)content frame:(CGRect)frame { // 开启图形'上下文' UIGraphic

浅析iOS中视频播放的几种方案

1.AVPlayer (1) 优缺点 优点:可以自定义 UI, 进行控制 缺点:单纯的播放,没有控制 UI(进度,暂停,播放等按钮),而且如果要显示播放界面, 需要借助AVPlayerLayer, 添加图层到需要展示的图层上 (2)实现远程视频播放 实现播放功能(只有声音) 1.导入框架 #import <AVFoundation/AVFoundation.h> 2.通过远程 URL 创建 AVPlayer 对象 NSURL *remoteURL = [NSURL URLWithString:

深入浅析IOS中UIControl

UIEvent是一系列UITouch的集合,在IOS中负责响应触摸事件.另外还提到了响应者链的概念,在IOS中,所有事件有一个最先响应者,事件可以沿着响应者链向下传递. 接下来是UIControl对象 UIControl是UIView的子类,当然也是UIResponder的子类.UIControl是诸如UIButton.UISwitch.UITextField等控件的父类,它本身也包含了一些属性和方法,但是不能直接使用UIControl类,它只是定义了子类都需要使用的方法. UIControl对

浅析IOS中播放gif动态图的方法

一.引言 在iOS开发中,UIImageView类专门来负责图片数据的渲染,并且UIImageView也有帧动画的方法来播放一组图片,但是对于gif类型的数据,UIImageView中并没有现成的接口提供给开发者使用,在iOS中一般可以通过两种方式来播放gif动态图,一种方式是通过ImageIO框架中的方法将gif文件中的数据进行解析,再使用coreAnimation核心动画来播放gif动画,另一种方式计较简单,可以直接通过webView来渲染gif图. 二.为原生的UIImageView添加类

浅析iOS多视图滑动点击切换的集成

前言 多视图滑动点击切换这个视图在很多App都有用到,我对这个View进行了封装,外界只需要调用一个接口,就能实现这个效果,使用方法和系统的tabbarController很相似. 外界只需要调用下面这个接口即可集成. /** * 添加一个子控制器 */ - (void)addSubItemWithViewController:(UIViewController *)viewController; HYTabbarView效果图如下 HYTabbarView可灵活配置一屏宽显示多少个标题,以及标

浅析iOS应用开发中线程间的通信与线程安全问题

线程间的通信   简单说明 线程间通信:在1个进程中,线程往往不是孤立存在的,多个线程之间需要经常进行通信   线程间通信的体现 1个线程传递数据给另1个线程 在1个线程中执行完特定任务后,转到另1个线程继续执行任务   线程间通信常用方法 复制代码 代码如下: - (void)performSelectorOnMainThread:(SEL)aSelector withObject:(id)arg waitUntilDone:(BOOL)wait; - (void)performSelecto

浅析iOS中的浅拷贝和深拷贝(copy和mutableCopy)

ios提供了copy和mutablecopy方法,顾名思义,copy就是复制了一个imutable的对象,而mutablecopy就是复制了一个mutable的对象. copy与retain的区别: copy是创建一个新对象,retain是创建一个指针,引用对象计数加1.Copy属性表示两个对象内容相同,新的对象retain为1 ,与旧有对象的引用计数无关,旧有对象没有变化.copy减少对象对上下文的依赖. retain属性表示两个对象地址相同(建立一个指针,指针拷贝),内容当然相同,这个对象的

浅析IOS开发TouchID指纹解锁功能

效果图如下 实现过程 1.首先引入指纹解锁必须的头文件 #import <LocalAuthentication/LocalAuthentication.h> 2.了解下主要的两个方法 这个方法是判断设备是否支持TouchID的. - (BOOL)canEvaluatePolicy:(LAPolicy)policy error:(NSError * __autoreleasing *)error __attribute__((swift_error(none))); 这个是用来验证TouchI

详解iOS Project和Targets配置

最近开始学习完整iOS项目的开发流程和思路,在实际的项目开发过程中,我们通常需要对项目代码和资料进行版本控制和管理,一般比较常用的SVN或者Github进行代码版本控制和项目管理.我们iOS项目的开发工具Xcode本来就集成了Github的代码控制,所以用GitHub会更方便一些,想具体了解Xcode和GitHub链接具体操作步骤的小伙伴可以戳这里:iOS学习--Xcode9上传项目到GitHub. 创建完项目之后,我们再对一个项目进行代码开发之前,我们首先需要对iOS项目的开发环境进行搭建,我