iOS 接入微信SDK报错 'NSInvalidArgumentException'

本文介绍了一个iOS应用在集成微信SDK时遇到的具体错误及其解决办法,包括如何正确配置工程设置、添加必要的框架并调整其配置。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

iOS接入微信SDK时,按微信SDK文档加上[WXApi registerApp:@"wx9e5dbb42329cad42"];

时报错如下:

2017-03-06 16:49:09.278 Cavemen Go[3325:1903] -[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x1f0a9ae0

2017-03-06 16:49:09.283 Cavemen Go[3325:1903] *** Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: '-[__NSArrayM enqueue:]: unrecognized selector sent to instance 0x1f0a9ae0'

*** First throw call stack:

(0x33a122a3 0x3b73a97f 0x33a15e07 0x33a14531 0x3396bf68 0xc2303 0xc2505 0xa69c3 0xa66a7 0x3bb5211f 0x3bb55ecf 0x3bb55dc1 0x3bb5691d 0x3bb56ac1 0x3bb86a11 0x3bb868a4)

libc++abi.dylib: terminate called throwing an exception

解决方法:

1、你的工程文件中选择Build Setting,在"Other Linker Flags"中加入"-Objc",其中-ObjCC要大写

2、如果工程报错"_GCControllerDidDisconnectNotification"

项目->TARGETS->iOS->Build Phases->Link Binary With Libraries

增加库:
GameController.framework

3、如果还报错xx.dylib的问题的话,则找到刚刚添加的GameController.framework,右侧Required改为Opitional


原文链接:http://www.itwendao.com/article/detail/308973.html


### iOS 应用集成微信客服 SDK 教程 在iOS应用中接入微信客服功能,开发者需先完成一系列准备动作。这包括注册成为微信开放平台的开发者并获取相应的AppID等必要信息[^1]。 #### 准备工作 为了能够顺利地将微信客服功能嵌入到iOS项目里,首先要确保已经下载了最新的微信SDK版本,并且根据官方文档指示完成了必要的环境搭建和设置。对于Objective-C或Swift编写的程序来说,除了上述提到的操作外,还需特别注意把`libWeChatSDK.a`这样的核心库文件加入工程之中[^2]。 #### 配置 Xcode 工程 当准备好所需的资源之后,在Xcode环境中打开目标项目,接着执行如下操作: - 将`libWeChatSDK.a`以及其他依赖项放置于项目的`Frameworks`目录之下; - 修改`Build Settings`里的链接器选项,增加对静态库的支持; - 更新`Info.plist`文件来声明支持的服务类型以及URL Scheme等相关参数; 这些步骤有助于构建过程识别新引入的功能模块,并允许应用程序与外部服务建立通信连接[^3]。 #### 实现客服会话接口调用 下面给出一段简单的代码片段用于展示怎样发起一次客服聊天对话框: ```objc #import "WXApi.h" // 假设当前处于某个ViewController内部... NSString *customerServiceUrl = @"https://weixin.qq.com/customerservice"; // 替换成实际地址 if ([WXApi isWXAppInstalled]) { SendMessageToWXReq* req = [[SendMessageToWXReq alloc] init]; req.bText = NO; req.scene = WXSceneSession; WebPageObject* webpageObj = [[WebPageObject alloc]init]; webpageObj.webpageUrl = customerServiceUrl; req.message.obj = webpageObj; [WXApi sendReq:req]; } else { NSLog(@"未安装微信"); } ``` 此段Objective-C代码展示了如何利用`WXApi`类发送消息给微信客户端以启动网页形式呈现的在线客服页面。需要注意的是这里的`customerServiceUrl`应该指向由微信公众账号后台提供的有效网址[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值