2022-01-12 19:25:27.545181+0800 App[7556:2773102] 微信log:>>>>>>>>>>>>> wxlog:set property list 2022-01-12 19:25:27.546447+0800 App[7556:2773102] +[WXApi genExtraUrlByReq:withAppData:]: unrecognized selector sent to class 0x1010017c8 2022-01-12 19:25:27.547237+0800 App[7556:2773102] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[WXApi genExtraUrlByReq:withAppData:]: unrecognized selector sent to class 0x1010017c8' *** First throw call stack: (0x180e8104c 0x1994f5f54 0x180f5df44 0x180e16474 0x180e155b0 0x100f453e0 0x100f44c30 0x100f23ccc 0x100c71d6c 0x100cb3e54 0x100cb3fb0 0x18f851090 0x18fae7328 0x18fd9c9b8 0x18f5e1ddc 0x18f9f3824 0x18f5bf848 0x18f5bee58 0x18ceb6074 0x18ceb71e4 0x180ea3020 0x180eb3ce0 0x180dedfe8 0x180df37f4 0x180e073b8 0x19c79738c 0x1837a76a8 0x1835267f4 0x1007fba84 0x100a85a24) libc++abi: terminating with uncaught exception of type NSException dyld4 config: DYLD_LIBRARY_PATH=/usr/lib/system/introspection DYLD_INSERT_LIBRARIES=/Developer/usr/lib/libBacktraceRecording.dylib:/Developer/usr/lib/libMainThreadChecker.dylib:/Developer/Library/PrivateFrameworks/DTDDISupport.framework/libViewDebuggerSupport.dylib terminating with uncaught exception of type NSException *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '+[WXApi genExtraUrlByReq:withAppData:]: unrecognized selector sent to class 0x1010017c8' 求助求助!!!
ios集成新的微信SDK后登录报错?2019-10-09 18:38:11.086615+0800 proj-mobile[1408:423767] log : wxlog:set property list 2019-10-09 18:38:11.095783+0800 proj-mobile[1408:423767] +[WXApi genExtraUrlByReq:withAppData:]: unrecognized selector sent to class 0x103a5aa30 2019-10-09 18:38:11.095991+0800 proj-mobile[1408:423767] EXCEPTION THROW: +[WXApi genExtraUrlByReq:withAppData:]: unrecognized selector sent to class 0x103a5aa30 wxLogin throw: {} 2019-10-09 18:38:11.096207+0800 proj-mobile[1408:423767] HelloOC: wxLogin throw: {} 错误如下,点击登录后报错。求教
2022-01-12根据楼主的提示解决了这个问题 服务器返回的数据(示例所用假数据,仅为参考): { "package": "Sign=WXPay", "appid": "wx73875835749357527389472", "sign": "ba333378493jrsekay8934y4hffdsajkgjsalf", "partinerid": "16237873492", "prepayid": "wx232328427952243ewi8979fsafsadgs", "return_code": "SUCCESS", "noncestr": "U2VQOIYFKb7jJGKF", "timestamp": "16400252100" } 前端可将sign的值改为md5 如下: { "package": "Sign=WXPay", "appid": "wx73875835749357527389472", "sign": "md5", "partinerid": "16237873492", "prepayid": "wx232328427952243ewi8979fsafsadgs", "return_code": "SUCCESS", "noncestr": "U2VQOIYFKb7jJGKF", "timestamp": "16400252100" } 不建议后端改,因为iOS端需要用到这个正确的签名 做过如下尝试: wechatpay.sign = "我们爱你我的中国多么美丽"; // 不可行 wechatpay.sign = "我们爱你我的"; // 可行 wechatpay.sign = "我们爱你我的中国多"; // 可行 wechatpay.sign = "我们爱你我的中国多么美"; // 不可行 wechatpay.sign = "我们爱你我的中国多么"; // 可行 wechatpay.sign = "我们爱你我的中国多么a"; // 可行 wechatpay.sign = ""; // 不可行,APP内报错 wechatpay.sign = "a"; // 可行 wechatpay.sign = "abcdefghijklmnopqestuvwxyz12345"; // 可行 wechatpay.sign = "abcdefghijklmnopqestuvwxyz123456"; // 不可行 可以看出一些端倪,只要sign的值所占字节数小于32即可,一个汉字在utf-8编码下,所占正是3个字节,而一个字母,所占字节数为1。 正确的sign值为什么不能通过,因为正确的sign值字节刚刚好是32 微信不修复此bug的原因,可能是因为,一旦修复,会导致大量的用户的支付功能出现异常,搞不好会出个大事。比较困惑的是,文档居然也不说这个事情。 玄之又玄,众妙之门 以上仅为个人猜测。
android支付验证验证签名失败多个项目用的同一套支付逻辑,PayReq的sign参数统一用后台的,而当前的项目却提示验证签名失败;当我改成sign=“MD5”,却可以调起微信支付并成功,是SDK已经改逻辑了吗
2021-12-23