前言:

项目之前有接入微信登录,那时分选择SDK的时分包含了付出功用,所以对于微信付出新需求只需要调用就可以,前期项目装备已经完结。可是按照官方文档的接入,出现了报错:Undefined symbol: OBJC_CLASS$_PayResp

项目报错:

按照官网接入微信付出的回来回调信息,回调的代码在编译的时分没有报错,可是编译不成功且报错。

错误代码段:

//微信的回调信息
- (void)onResp:(BaseResp *)resp{
    if ([resp isKindOfClass:[PayResp class]]){
        NSLog(@"***************获得的微信付出信息***************");
        PayResp*response=(PayResp*)resp;
        switch(response.errCode){
            case WXSuccess: //服务器端查询付出告诉或查询API回来的结果再提示成功
                NSLog(@"付出成功");
                break;
            default:
                NSLog(@"付出失败,retcode=%d",resp.errCode);
                break;
        }
    }
}

报错,Undefined symbol: OBJC_CLASS$_PayResp

iOS微信付出报错Undefined symbol: _OBJC_CLASS_$_PayResp

项目检查:

1、项目查找报错的PayResp类,从查找结果来看,它只有微信的资源库的界说和项目调用,所以并不是这个类命名冲突的问题。

iOS微信付出报错Undefined symbol: _OBJC_CLASS_$_PayResp

2、项目前期完结微信登录接入,所以项目前期装备应该仍是可以的。可究竟现在有了问题,仍是一步步的按照开发文档接入去核对了项目的装备,再次确认不是项目装备的问题。:-D

问题解决:

按照百度修正可是也没有什么作用,后边突然想官方给了两种资源库,分别是.a静态库和XCFramework的方式的库,就试着换一下库。

iOS微信付出报错Undefined symbol: _OBJC_CLASS_$_PayResp
通过CocoaPods集成,修正头文件为#import <WXApi.h>,从头编译项目,问题解决。

//加了版本号限制
pod 'WechatOpenSDK-XCFramework','2.0.2'

参考文档地址:

1、微信开发接入文档:

pay.weixin.qq.com/wiki/doc/ap…

2、微信资源库下载:developers.weixin.qq.com/doc/oplatfo…

结束反思:

1、对过程的反思:遇见问题,首要依据经历排查导致问题出现的原因是好的,可是对三方库的质疑不行坚定,导致后边切换库也是抱着试探的心态去的。

2、对掌握知识的反思:自己对.a的静态库和XCFramework的知识点一知半解,先留个坑,到时分对这个学习了解了放个学习心得。