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

前言:

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

项目报错:

按照官网接入微信支付的返回回调信息,回调的代码在编译的时候没有报错,但是编译不成功且报错。

错误代码段:

objectivec 复制代码
//微信的回调信息
- (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

项目检查:

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

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

问题解决:

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

通过 CocoaPods 集成,修改头文件为 #import <WXApi.h> ,重新编译项目,问题解决。

arduino 复制代码
//加了版本号限制
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的知识点一知半解,先留个坑,到时候对这个学习了解了放个学习心得。

相关推荐
2501_916008897 天前
iOS App 图标、启动屏和多语言搭配 方法,上架前使用KXBuild一次做好 App 图标
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_915918417 天前
iOS 推送通知怎么实现,从 APNs p8 密钥到 iOS 真机收到第一条推送
vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_916007479 天前
Windows OpenSSL 生成 iOS 证书,制作 p12 与描述文件,KXBuild 签名实操
windows·vscode·ios·objective-c·个人开发·swift·敏捷流程
00后程序员张9 天前
Windows 开发 iOS App 入门,用 SwiftUI 写第一个 iOS App 装到 iPhone
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2501_9160088918 天前
Windows 上写第一个 SwiftUI App,KXBuild 空工程起步,跑到 iPhone 真机
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
黑化旺仔19 天前
【OC】Runtime:类元数据、加载初始化与消息派发
开发语言·macos·ios·objective-c
2501_9151063220 天前
KXApp 的 VS Code 真机调试:按下 Cmd+R 之后发生了什么
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程
2601_9555181820 天前
36. 跨语言:C/C++与Swift&Objective-C混合编程(一)
objective-c·swift·c/c++·混合编程·跨语言
庚鑫1 个月前
Xcode 26.3 调试 iOS 27:从设备元数据报错到 GUI Run
ios·objective-c·xcode
2501_915106321 个月前
iOS开发之Xcode常用调试技巧总结
ide·vscode·ios·objective-c·个人开发·swift·敏捷流程