支付宝中有用到A–》base64(sdk包含),本人又写了一个B–》base64(类名–GTMBase64),
然后打包成C–>SDK,新建一个Demo调用最终的这个c–>SDK时,执行加密的时候,其实是想走B的–》base64的
+(NSData *)baseEncode:(const void *)bytes
length:(NSUInteger)length
charset:(const char *)charset
padded:(BOOL)padded;
实际上,这个时候,挂掉了,
+[GTMBase64 baseEncode:length:charset:padded:]: unrecognized selector sent to class 0x1058fac00
求指导决方案。
然后打包成C–>SDK,新建一个Demo调用最终的这个c–>SDK时,执行加密的时候,其实是想走B的–》base64的
+(NSData *)baseEncode:(const void *)bytes
length:(NSUInteger)length
charset:(const char *)charset
padded:(BOOL)padded;
实际上,这个时候,挂掉了,
+[GTMBase64 baseEncode:length:charset:padded:]: unrecognized selector sent to class 0x1058fac00
求指导决方案。
解决方案
5
本人记得有个加密的类就叫GTMBase64,会不会你的和他重名了,其实调用的不是你的GTMBase64
15
这个问题应该没那么复杂
你根据错误提示给出的对象地址0x1058fac00,把他打出来看看是哪个对象
po 0x1058fac00
然后检查一下这个对象到底有没有baseEncode…这个方法,外部声明的方法和内部实现时的方法两边定义能否一致
这个错误信息很明白就是0x1058fac00这个对象找不到baseEncode…这个方法,很容易查出来的
你根据错误提示给出的对象地址0x1058fac00,把他打出来看看是哪个对象
po 0x1058fac00
然后检查一下这个对象到底有没有baseEncode…这个方法,外部声明的方法和内部实现时的方法两边定义能否一致
这个错误信息很明白就是0x1058fac00这个对象找不到baseEncode…这个方法,很容易查出来的