You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

React Native集成Amazon Chime iOS端调用startMeeting崩溃求助

React Native集成Amazon Chime SDK iOS端崩溃解决方法

问题概述

Android端运行正常,iOS调用以下代码时崩溃:

NativeFunction.startMeeting(meetingResponse.JoinInfo.Meeting.Meeting, meetingResponse.JoinInfo.Attendee.Attendee);

崩溃日志显示:[AppInfo setAppVersionName:]: unrecognized selector sent to instance 0x281888aa0,崩溃触发点在iOS桥接代码的[meetingSession.audioVideo startAndReturnError:&error]行。

解决方案

1. 修正AppInfo初始化的字段差异

崩溃核心原因是iOS端AppInfo类不存在setAppVersionName:方法——这是Android SDK的字段,iOS SDK对应的字段是appVersion。

  • 在iOS桥接代码中创建AppInfo时,使用iOS SDK的正确初始化方式:
    AppInfo *appInfo = [[AppInfo alloc] initWithAppName:@"你的应用名称" appVersion:@"你的应用版本号"];
    
  • 避免直接复用Android端的参数结构映射字段,严格区分双端SDK的API差异。

2. 检查Chime SDK版本兼容性

  • 确认Podfile中AmazonChimeSDK和AmazonChimeSDKMedia的版本为官方稳定版,避免版本不匹配导致的方法缺失问题。
  • 执行pod update AmazonChimeSDK AmazonChimeSDKMedia更新到最新兼容版本。

3. 验证参数传递完整性

  • 在iOS桥接的startMeeting方法中,打印传入的Meeting和Attendee参数,确认字段结构符合iOS SDK要求:
    - (void)startMeeting:(NSDictionary *)meetingDict attendee:(NSDictionary *)attendeeDict {
        NSLog(@"Meeting参数: %@", meetingDict);
        NSLog(@"Attendee参数: %@", attendeeDict);
        // 后续初始化逻辑
    }
    
  • 确保Meeting中的meetingId、mediaPlacement,以及Attendee中的attendeeId、externalUserId等关键字段无缺失或格式错误。

4. 清理缓存并重建项目

  • 执行pod deintegrate && pod install彻底清理并重新安装依赖
  • 在Xcode中执行Product -> Clean Build Folder清理构建缓存
  • 重启Metro服务和Xcode,避免旧代码缓存干扰。

5. 确认权限配置(辅助检查)

虽然当前崩溃与权限无关,但确保Info.plist中已添加必要权限描述:

<key>NSCameraUsageDescription</key>
<string>需要访问摄像头进行视频会议</string>
<key>NSMicrophoneUsageDescription</key>
<string>需要访问麦克风进行语音会议</string>

内容的提问来源于stack exchange,提问作者Pawan Kumar

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 17:55:25