Repository navigation
AirSIM Apps v0.9.8.23 — 运营商早期媒体与云端扬声器修复
2026-11-05(Asia/Shanghai),基于 develop。Android Standalone/AVF Bridge 0.9.8.23(128);iPhone/Watch/Widget 0.9.8(172)。
更新内容
- VoWLAN、VoBLE 与云端统一支持兼容设备提供的运营商早期媒体。接通前仅接收下行,不提前标记已接通、不提前计时,也不打开 iPhone 麦克风上行;真实接通后切换双向通话。
- Android Standalone 按 Telephony Rx、音频格式与实际桥状态检测能力,移除早期媒体的 Redmi 9 专属准入限制,继续使用通用 APK;这不代表所有机型均能获取运营商下行。
- 修复 U30Air 已发布设备端
early_media与新early_media_ready_v1的兼容,保留当前通话身份、代次和连接阶段校验,防止迟到消息启动另一通电话的音频。 - 修复云端扬声器切换后声音消失:协调 CallKit 音频会话所有权,在输出路由或引擎配置变化后恢复本机播放图,清理失效缓冲;不重新拨号、不重新接听、不重建云端信令。挂断或通话替换会取消待执行恢复。
- 早期媒体播放时停止本机等待音;蓝牙收音密钥与媒体阶段绑定,旧阶段的帧与回调不会进入新通话。
- 开屏版本说明同步新增能力及兼容性边界。
升级与限制
- Android 推荐安装正式签名 Standalone 128;更新后检查 Root/Shizuku 及 PCM 桥状态。正式包沿用原发布证书;Debug/第三方签名包不能直接覆盖,不要求先卸载现有应用。
- iPhone 使用 TestFlight 172,或将 GitHub 的 unsigned IPA 用自己的 Apple 开发者身份重签。full 包含 Watch,sideload 不含 Watch;主 App 与 Widget 的 App Group 必须一致。上传、处理及外测可用状态分别确认。
- VoBLE/Android 云端早期媒体需要双方运行支持版本。更新 AVF Bridge APK 不等于更新 Linux Agent;本次不发布独立 AVF Agent 或 U30Air 固件,也不恢复暂停的 R18 发布。
- 运营商未提供下行、设备音频能力受限或旧 Agent 不支持时,保持原通话行为;不模拟运营商“暂时无法接通”,不保证每次拒接或挂断都有公告。真正进入终态后不延迟结束去伪造媒体。
- 本轮 Worker 只补充协议转发回归测试,生产代码未改,不需要新增 API 或重新部署。自托管 Relay 应保留媒体控制消息附加字段与二进制流。
验证与发布状态
- iOS 最终源码完整 502 项单元/集成测试通过。首轮三项 UI 用例因测试宿主缺少 UIWindowScene 失败,恢复前台窗口后全部通过;未跳过测试或放宽断言。
- iPhone Air 已覆盖安装开发签名 172,用户确认 U30Air 云端运营商语音与扬声器切换实测通过。此反馈不代表所有厂商、运营商或传输组合已联合验收。
- Android Standalone 全套回归、独立云端媒体回归和更新策略检查通过;Relay 79 项测试通过。两种正式 APK 包名、build 128、非 Debug 标志及原发布证书已核验。
- iOS App Store 分发包已核验 production APNs、App Group、不可调试及深度签名;full/sideload unsigned IPA 的 build 172、无签名内容和 Watch 布局已核验,Date 运行时导入检查通过。
- TestFlight 172 已于 2026-11-05 上传成功:Apple 返回
Upload succeeded和Uploaded package is processing。尚未确认处理完成、外测审核或测试者可更新。
源码修复 845d9fa、发布提交 b845254 与标签 v0.9.8.23 已推送 develop。GitHub Release 已公开为最新版本;8 个附件重新下载成功,校验清单与本地一致,7 个有效载荷的 SHA-256 全部通过。App Store Connect 网页仍显示登录失败,不能据上传成功宣称外测已可用。
实现与具体测试记录:跨模式早期媒体交接。
SHA-256
2c7b7dd86b2316159adbd099d8204f502b190b010255046a7e52fd57516f671a AirSIM-Android-AVF-0.9.8.23-build128.apk
597f45aa44e590750f5be6588dcfa0dc8045416a70e6e7f41015cae2fa91df2e AirSIM-Android-Standalone-0.9.8.23-build128.apk
010019b016a664ec94aca6ed52af7213035a1e63885f7762a1dca4bada35e7ba AirSIM-iOS-0.9.8-build172-sideload-unsigned.ipa
689f19b9876d4eb22abe482926814fe647b88db1cdca53ca77112b165237acd3 AirSIM-iOS-0.9.8-build172-unsigned.ipa
c0ea4a896d2c8c394b29f9427589996db826cd501c512279ff0ed3ef48fabbe5 LICENSE
82bb82e0816c778a09b7ddc8cea0f9126847d6e489bf0aeb7fb1dff2dfc54454 NOTICE
98d05d78721e4e7c859b00c6e34611c4ee0524d6075e9dc641d9f35ecfa7b1dc THIRD_PARTY_NOTICES.md