Describe the bug
the video stream changes to the rear camera and the front camera switch becomes ineffective, when the network connection was lost and then reconnected..
SDK Version
2.12.1
iOS/macOS Version
all version
Xcode Version
26.3
Steps to Reproduce
1、In the meeting, the network connection was lost and then reconnected..
2、First failed in quick mode, then successful automatic reconnection in full mode.
3、The video stream becomes the content of the rear camera, and the front camera switch does not work.
4、 Camera switch work after I kill the app .
Logs
2026-04-10 17:21:50.959476+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:50.959] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → Failed calling startReconnect, error: Error Domain=io.livekit.swift-sdk Code=104 "Invalid state" UserInfo={NSLocalizedDescription=Invalid state}
2026-04-10 17:21:51.036134+0800 ShareTalk[62564:14439009] Connection 33: received failure notification
2026-04-10 17:21:51.036176+0800 ShareTalk[62564:14439009] Connection 33: failed to connect 1:50, reason -1
2026-04-10 17:21:51.036192+0800 ShareTalk[62564:14439009] Connection 33: encountered error(1:50)
2026-04-10 17:21:51.036998+0800 ShareTalk[62564:14438630] Task <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15> HTTP load failed, 0/0 bytes (error code: -1020 [1:50])
2026-04-10 17:21:51.040126+0800 ShareTalk[62564:14439009] Task <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15> finished with error [-1020] Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={kCFStreamErrorCodeKey=50, NSUnderlyingError=0x28a5af630 {Error Domain=kCFErrorDomainCFNetwork Code=-1020 "(null)" UserInfo={NSURLErrorNWPathKey=unsatisfied (No network route), kCFStreamErrorCodeKey=50, kCFStreamErrorDomainKey=1}}, NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15>, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15>"
), NSLocalizedDescription=目前不允许数据连接。, NSErrorFailingURLStringKey=https://ios.bugly.qq.com/rqd/sync?aid=08A414EC-F53B-4356-AE42-B3C9C24FD402, NSErrorFailingURLKey=https://ios.bugly.qq.com/rqd/sync?aid=08A414EC-F53B-4356-AE42-B3C9C24FD402, kCFStreamErrorDomainKey=1}
2026-04-10 17:21:51.525266+0800 ShareTalk[62564:14438514] [2026-04-10 17:21:51.525] [WJWebSocket:289] [sendPing(completion:)] [1775812910937-78DA5C3E] → WebSocket ping timeout
2026-04-10 17:21:51.527328+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:51.527] [WJWebSocket:146] [scheduleReconnect()] [1775812910937-78DA5C3E] → WebSocket 外部设置不自动重连
2026-04-10 17:21:51.530610+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:51.530] [WJWebSocketManager:328] [connect()] [1775812693879-0E447365] → Websocket发生错误,error: Optional(Error Domain=websocket.ping.timeout Code=-1 "WebSocket ping timeout" UserInfo={NSLocalizedDescription=WebSocket ping timeout})
2026-04-10 17:21:52.014748+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.014] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [Connect] Starting retry attempt 2/2 with mode: .quick
2026-04-10 17:21:52.017356+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.017] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .connected -> .connected, reconnectMode: Optional(.full)
2026-04-10 17:21:52.019700+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:52.019] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [Connect] starting .full reconnect sequence...
2026-04-10 17:21:52.020342+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.020] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .connected -> .reconnecting, reconnectMode: Optional(.full)
2026-04-10 17:21:52.023338+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.023] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil, isFullReconnect: true
2026-04-10 17:21:52.024072+0800 ShareTalk[62564:14438630] 🔴 [2026-04-10 17:21:52.024] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil
2026-04-10 17:21:52.025512+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.025] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812910937-78DA5C3E] →
🔌 房间连接状态变更
├─ 房间名称: Optional("gomeet_user_2042532719942320129")
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 元数据: Optional("")
├─ 房间人数: 2
├─ 连接状态: .reconnecting
└─ 失败原因: nil
├─ 自己的昵称: Optional("17766666770级阵风")
2026-04-10 17:21:52.026801+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.027] [YTMeetingRoomViewController+LiveKitDelegate:30] [liveKit(:didChangeConnectionState:)] [1775812910937-78DA5C3E] → livekit进入自动full模式重连阶段
2026-04-10 17:21:52.029922+0800 ShareTalk[62564:14438630] [2026-04-10 17:21:52.029] [YTMeetingRoomViewController+UI:363] [reconnecting()] [1775812910937-78DA5C3E] → 会议中,断线后,livekit完全重连中
2026-04-10 17:21:52.090824+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.091] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812724752-9201871E] → isPlayoutEnabled: true, isRecordingEnabled: true
2026-04-10 17:21:52.096536+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.096] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Failed to unpublish track TR_VCDt5Ddoa3uy5m with error Error Domain=io.livekit.swift-sdk Code=201 "WebRTC error(Failed to remove track)" UserInfo={NSLocalizedDescription=WebRTC error(Failed to remove track)}
2026-04-10 17:21:52.111493+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.111] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → notify: true
2026-04-10 17:21:52.111848+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:52.111] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Failed to unpublish track TR_AMfivShizkdCrR with error Error Domain=io.livekit.swift-sdk Code=201 "WebRTC error(Failed to remove track)" UserInfo={NSLocalizedDescription=WebRTC error(Failed to remove track)}
2026-04-10 17:21:52.118191+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:52.116] [YTLiveKitManager+RoomDelegate:305] [room(:participant:didUnpublishTrack:)] [1775812910958-7FBC868E] → 未连接状态远端用户取消发布音视频轨道,不需要处理
2026-04-10 17:21:52.118438+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.116] [YTLiveKitManager+RoomDelegate:131] [room(:participantDidDisconnect:)] [1775812910958-7FBC868E] → 未连接状态用户离开房间,不需要处理
2026-04-10 17:21:52.120570+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.120] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → withError: nil
2026-04-10 17:21:52.120920+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:52.120] [YTLiveKitManager+RoomDelegate:220] [room(:participant:didUpdateConnectionQuality:)] [1775812910842-F8D83881] →
📶 参与者网络连接质量更新
├─ 房间id: nil
├─ 用户昵称: nil
├─ 用户id: nil
└─ 连接质量: ConnectionQuality(rawValue: 0)
2026-04-10 17:21:52.121041+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.120] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → Participant active
2026-04-10 17:21:52.121224+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.121] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → [Connect] mode: .full
2026-04-10 17:21:52.121951+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → Reconnecting with url: wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1
2026-04-10 17:21:52.122098+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → Participant active already resolved [:] with success()
2026-04-10 17:21:52.122270+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → .disconnected -> .reconnecting
2026-04-10 17:21:52.124655+0800 ShareTalk[62564:14438951] Connection 34: received failure notification
2026-04-10 17:21:52.124691+0800 ShareTalk[62564:14438951] Connection 34: failed to connect 1:50, reason -1
2026-04-10 17:21:52.124709+0800 ShareTalk[62564:14438951] Connection 34: encountered error(1:50)
2026-04-10 17:21:52.125485+0800 ShareTalk[62564:14438514] Task <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1> HTTP load failed, 0/0 bytes (error code: -1020 [1:50])
2026-04-10 17:21:52.125643+0800 ShareTalk[62564:14438514] Task <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1> finished with error [-1020] Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。}
2026-04-10 17:21:52.125972+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.126] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → didCompleteWithError: Optional(Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。})
2026-04-10 17:21:52.126285+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.126] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Uncategorized error for: Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。}
2026-04-10 17:21:52.126635+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.127] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown})
2026-04-10 17:21:52.127319+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.127] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → .reconnecting -> .disconnected
2026-04-10 17:21:52.127905+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → [Connect] Reconnect mode: .full failed with error: Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}
2026-04-10 17:21:52.128137+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → [Connect] Sequence failed with error: Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}
2026-04-10 17:21:52.128326+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}), isFullReconnect: false
2026-04-10 17:21:52.128457+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}})
2026-04-10 17:21:52.128651+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.129] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → notify: true
2026-04-10 17:21:52.130403+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.130] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → connectionState: .reconnecting -> .disconnected, reconnectMode: nil
2026-04-10 17:21:52.131623+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:52.131] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812896224-D25554ED] →
🔌 房间连接状态变更
├─ 房间名称: nil
├─ 房间id: nil
├─ 元数据: nil
├─ 房间人数: 0
├─ 连接状态: .disconnected
└─ 失败原因: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}})
├─ 自己的昵称: nil
2026-04-10 17:21:52.132285+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:52.132] [YTMeetingRoomViewController+LiveKitDelegate:40] [liveKit(:didChangeConnectionState:)] [1775812896224-D25554ED] → livekit full模式重连失败, 进入业务方重连阶段
2026-04-10 17:21:52.132317+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:52.132] [YTMeetingRoomViewController+UI:388] [showConnectFailedAlert()] [1775812693879-0E447365] → 重连失败了
2026-04-10 17:21:54.527050+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:54.526] [WJWebSocket:289] [sendPing(completion:)] [1775812896224-D25554ED] → WebSocket ping timeout
2026-04-10 17:21:54.527943+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:54.527] [WJWebSocket:146] [scheduleReconnect()] [1775812896224-D25554ED] → WebSocket 外部设置不自动重连
2026-04-10 17:21:54.528458+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:54.527] [WJWebSocketManager:328] [connect()] [1775812693879-0E447365] → Websocket发生错误,error: Optional(Error Domain=websocket.ping.timeout Code=-1 "WebSocket ping timeout" UserInfo={NSLocalizedDescription=WebSocket ping timeout})
2026-04-10 17:21:55.291670+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:55.291] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → status: unsatisfied, interfaces: ["wifi-16"], gateways: [], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55 UMengCommon<7.5.6>(Info):[UMReachability:59]Reachability Flag Status: -R t------ networkStatusForFlags
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:241]E_UM_C_NET_IDLE and no ready status.
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[MobClickInternal:3402]UMAnalytics发送配置:sdk_version:(null), device_id:(null), model:(null), os_version:(null), app_version:(null)
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[MobClickInternal:3426]UMAnalytics统计发送内容:active_user:(null), activate_msg:(null), sessions:(
{
id = "AD2FC0948EB49992C6895D7828F4E663";
start_time = "1775812906858";
state_s = 1;
},
{
id = "D2EC0B59BE72D418FCB0CE4B4210A2BC";
start_time = "1775812910890";
state_s = 1;
}
), ekv:(null) ,error:(null)
2026-04-10 17:21:55.439293+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:55.439] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55.440592+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:55.440] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → didSwitch type: quick on & off
2026-04-10 17:21:55.607571+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:55.606] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMNetworkWork:330]网络请求成功(Response Applog) {"success": "ok"}
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:241]E_UM_C_NET_IDLE and no ready status.
2026-04-10 17:21:55.804742+0800 ShareTalk[62564:14438957] [tcp] tcp_input [C35.1.1:3] flags=[R] seq=2300693292, ack=2658520248, win=0 state=LAST_ACK rcv_nxt=2300693292, snd_una=3365284528
2026-04-10 17:21:55.804972+0800 ShareTalk[62564:14438957] [tcp] tcp_input [C35.1.1:3] flags=[R] seq=2300693292, ack=2658520248, win=0 state=CLOSED rcv_nxt=2300693292, snd_una=3365284528
2026-04-10 17:21:55.844624+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:55.844] [WJWebSocket:146] [scheduleReconnect()] [1775812693879-0E447365] → WebSocket 外部设置不自动重连
2026-04-10 17:21:55.844980+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:55.844] [WJWebSocket:81] [init(request:)] [1775812693879-0E447365] → WebSocket NetworkMonitor isAvailable: true
cURL: $ curl -v
-X GET
-b "JSESSIONID=91E77C6578A3CFD29069017E328B597C"
-H "Accept-Language: zh-Hans-CN;q=1.0, en-CN;q=0.9"
-H "Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8"
-H "User-Agent: ShareTalk/10.1.2 (com.sharexm.xm.test; build:1; iOS 16.3.1) Alamofire/5.11.0"
"http://api-im-etest2.sharexm.cn/timestamp?"
2026-04-10 17:21:55.916289+0800 ShareTalk[62564:14438953] [2026-04-10 17:21:55.916] [XMAPIPlugin:58] [didReceive(:data:request:)] [1775812910842-F8D83881] →
请求Response
├─ HTTP状态码: 200
├─ URL: http://api-im-etest2.sharexm.cn/timestamp?
├─ 请求头: [:]
├─ Params: 无请求参数
├─ Response: Optional("{"msg":"OK","code":200,"data":1775812916048,"success":true,"error":false}")
dealloc http://api-im-etest2.sharexm.cn/timestamp
2026-04-10 17:21:56 UMengCommon<7.5.6>(Debug):[UMNetworkWork:330]网络请求成功(Response Applog) {"success": "ok"}
2026-04-10 17:21:56 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:232]E_UM_C_NET_IDLE and no data to send.
2026-04-10 17:21:56.045433+0800 ShareTalk[62564:14438509] [tcp] tcp_input [C36.1.1:3] flags=[R] seq=3188438054, ack=924847685, win=0 state=LAST_ACK rcv_nxt=3188438054, snd_una=2614865333
2026-04-10 17:21:56.045701+0800 ShareTalk[62564:14438509] [tcp] tcp_input [C36.1.1:3] flags=[R] seq=3188438054, ack=924847685, win=0 state=CLOSED rcv_nxt=3188438054, snd_una=2614865333
2026-04-10 17:21:56.732396+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.732] [YTMeetingRoomViewController+UI:458] [connectFailed()] [1775812910842-F8D83881] → 2026496420483579904_2 连接失败 重试第1次
2026-04-10 17:21:56.732611+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.732] [YTMeetingRoomViewController:504] [connectLiveKit()] [1775812910842-F8D83881] → 开始执行第1次重连
2026-04-10 17:21:56.757594+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.755] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:56.817243+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.817] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Connecting to room...
2026-04-10 17:21:56.817745+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil, isFullReconnect: false
2026-04-10 17:21:56.818016+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil
2026-04-10 17:21:56.818286+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → notify: true
2026-04-10 17:21:56.819156+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:56.819] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .disconnected -> .connecting, reconnectMode: nil
2026-04-10 17:21:56.820359+0800 ShareTalk[62564:14438630] [2026-04-10 17:21:56.820] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812905950-2C9CE651] →
🔌 房间连接状态变更
├─ 房间名称: nil
├─ 房间id: nil
├─ 元数据: nil
├─ 房间人数: 0
├─ 连接状态: .connecting
└─ 失败原因: nil
├─ 自己的昵称: nil
2026-04-10 17:21:56.820966+0800 ShareTalk[62564:14438630] 🔴 [2026-04-10 17:21:56.821] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Concurrent enable microphone mode: false
2026-04-10 17:21:56.821145+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.821] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → withError: nil
2026-04-10 17:21:56.821624+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.822] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → Connecting with url: wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&network=wifi&auto_subscribe=1&adaptive_stream=1
2026-04-10 17:21:56.821729+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.822] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → .disconnected -> .connecting
2026-04-10 17:21:56.891726+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.891] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Join response id: 4D1A272E-E8AC-47AB-A7C9-BB6B1DC9623B waiting for milliseconds(7000)
2026-04-10 17:21:56.894412+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.894] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → ping/pong starting with interval: 5, timeout: 15
2026-04-10 17:21:56.894567+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.894] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → ServerInfo(edition: standard, version: 1.9.11, protocol: 16, region: , nodeID: ND_eKHiy7AeQkDN, debugInfo: )
2026-04-10 17:21:56.894690+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → .connecting -> .connected
2026-04-10 17:21:56.894968+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Configuring transports with JOIN response...
2026-04-10 17:21:56.895105+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → subscriberPrimary: true
2026-04-10 17:21:56.896676+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.897] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.897715+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.897] [YTLiveKitManager+RoomDelegate:230] [room(:participant:didUpdateMetadata:)] [1775812910937-78DA5C3E] → 未连接状态参会者元数据更新,不需要处理
2026-04-10 17:21:56.898425+0800 ShareTalk[62564:14438953] [2026-04-10 17:21:56.898] [YTLiveKitManager+RoomDelegate:342] [room(:participant:didUpdateName:)] [1775812910937-78DA5C3E] → 未连接状态参会者名字更新,不需要处理
2026-04-10 17:21:56.898667+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:56.898] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.899064+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.898] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → enabledPublishCodecs: video/VP8, video/H264, video/VP9, video/AV1, video/H265, audio/PCMU, audio/PCMA, audio/opus, audio/red
2026-04-10 17:21:56.899338+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.898] [YTLiveKitManager+RoomDelegate:183] [room(:participant:didUpdatePermissions:)] [1775812910937-78DA5C3E] → 未连接状态参会者权限更新,不需要处理
2026-04-10 17:21:56.899456+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.899] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → ShouldNegotiate for publisher
2026-04-10 17:21:56.900470+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:56.900] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → dataChannel.Optional("reliable") : Optional(-1)
2026-04-10 17:21:56.900883+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.901] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → dataChannel.Optional("lossy") : Optional(-1)
2026-04-10 17:21:56.901161+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:56.901] [YTLiveKitManager+RoomDelegate:230] [room(:participant:didUpdateMetadata:)] [1775812896224-D25554ED] → 未连接状态参会者元数据更新,不需要处理
2026-04-10 17:21:56.901437+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:56.901] [YTLiveKitManager+RoomDelegate:342] [room(:participant:didUpdateName:)] [1775812906051-CEE49501] → 未连接状态参会者名字更新,不需要处理
2026-04-10 17:21:56.902677+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.902] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → [Connect] Fast publish enabled: true
2026-04-10 17:21:56.903182+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:56.902] [YTLiveKitManager+RoomDelegate:183] [room(:participant:didUpdatePermissions:)] [1775812910937-78DA5C3E] → 未连接状态参会者权限更新,不需要处理
2026-04-10 17:21:56.903381+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.903] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.903801+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.903] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Participant active already resolved [:] with failure(Error Domain=io.livekit.swift-sdk Code=502 "Participant removed(Participant removed 2027264147670323200_1)" UserInfo={NSLocalizedDescription=Participant removed(Participant removed 2027264147670323200_1)})
2026-04-10 17:21:56.903915+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.904] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Primary transport connect id: 9FF5DA5F-136B-47DA-8A1B-D2E9687E460D waiting for milliseconds(30000)
2026-04-10 17:21:56.904415+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.904] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → did update subscriptionPermission: LiveKitClient.Livekit_SubscriptionPermissionUpdate:
participant_sid: "PA_WmQxr8EYc6Cy"
track_sid: "TR_VCRo4DdjvozUmW"
allowed: true
2026-04-10 17:21:56.904611+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.905] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Received offer with offerId: 71, creating & sending answer...
2026-04-10 17:21:56.907023+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.907] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → participants: [LiveKitClient.Livekit_ParticipantInfo:
sid: "PA_h3f6FU24jqxW"
identity: "2026496420483579904_2"
state: JOINED
metadata: "{"avatar":"https://tos-im-test2.xmsharetalk.cn/UseTest_zzw/20250113_lol_89.jpg","role":["create"],"update_field":"","change_value":"","is_left_del_role":false}"
joined_at: 1775812917
name: "17766666770级阵风"
version: 1
permission {
can_subscribe: true
can_publish: true
can_publish_data: true
can_publish_sources: [UNKNOWN, MICROPHONE, CAMERA, SCREEN_SHARE, SCREEN_SHARE_AUDIO]
}
joined_at_ms: 1775812917028
]
2026-04-10 17:21:56.907283+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.907] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:56.945962+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.946] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:56.948506+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.948] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Publisher onOffer with offerId: 1, sdp: v=0
o=- 6320768591096856386 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:aIhT
a=ice-pwd:i1mCY0zxoWCgoqQiFTn3B5/1
a=ice-options:trickle renomination
a=fingerprint:sha-256 E2:42:AA:35:7A:74:6E:91:E2:0C:BF:44:90:55:6E:EC:12:54:B2:BC:24:03:01:39:A7:E7:15:F8:42:68:06:4E
a=setup:actpass
a=mid:0
a=sctp-port:5000
a=max-message-size:262144
2026-04-10 17:21:56.977023+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.977] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Received answer for offerId: 1
2026-04-10 17:21:56.992621+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.992] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.009522+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.009] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.035580+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.035] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.047129+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:57.047] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:57.047377+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.047] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.064820+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.065] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Received offer with offerId: 72, creating & sending answer...
2026-04-10 17:21:57.068094+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.068] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → type: LKRTCVideoTrack, track.id: TR_VCRo4DdjvozUmW, streams: ["Stream(hash: 10912199328, id: PA_WmQxr8EYc6Cy|TR_VCRo4DdjvozUmW, videoTracks: 1, audioTracks: 0)"]
2026-04-10 17:21:57.068989+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.069] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → [execution control] enqueuing entry...
2026-04-10 17:21:57.918779+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.918] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(subscriber) did update state: .connecting
2026-04-10 17:21:57.920181+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.920] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → target: subscriber, connectionState: .connecting
2026-04-10 17:21:57.991556+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.991] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(publisher) did update state: .connecting
2026-04-10 17:21:57.993278+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:57.992] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → target: publisher, connectionState: .connecting
2026-04-10 17:21:57.997038+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:57.994] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(subscriber) did update state: .connected
2026-04-10 17:21:57.998333+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.998] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → target: subscriber, connectionState: .connected
2026-04-10 17:21:58.001055+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:58.001] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Stopwatch(connect, signal +0.08s, engine +1.11s, total 1.18s)
2026-04-10 17:21:58.002302+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:58.001] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [execution control] processing pending entries (1)...
2026-04-10 17:21:58.003062+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:58.002] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Connect sequence completed
2026-04-10 17:21:58.003668+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.003] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → connectionState: .connecting -> .connected, reconnectMode: nil
2026-04-10 17:21:58.006810+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:58.007] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Connected to Room(sid: Optional(RM_RDNdqBAB55PV), name: gomeet_user_2042532719942320129, serverVersion: 1.9.11, serverRegion: nil)
2026-04-10 17:21:58.007293+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:58.007] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → [execution control] processing pending entries (1)...
2026-04-10 17:21:58.008664+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.007] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812918006-4F640825] →
🔌 房间连接状态变更
├─ 房间名称: Optional("gomeet_user_2042532719942320129")
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 元数据: Optional("")
├─ 房间人数: 1
├─ 连接状态: .connected
└─ 失败原因: nil
├─ 自己的昵称: Optional("17766666770级阵风")
2026-04-10 17:21:58.009852+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.009] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → [execution control] condition matching block...
[Retry] Attempt 1 of 3, delay: 0.2
2026-04-10 17:21:58.012562+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.012] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → RemoteTrackPublication set track: Optional(RemoteVideoTrack(sid: nil, name: , source: camera))
2026-04-10 17:21:58.013210+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.013] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → nil -> Optional(RemoteVideoTrack(sid: nil, name: , source: camera))
2026-04-10 17:21:58.014988+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.015] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Track.dimensions nil -> Optional(Dimensions(1280x720))
2026-04-10 17:21:58.016204+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.016] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → [adaptiveStream] did reset trackSettings: TrackSettings(enabled: false, dimensions: Dimensions(0x0), videoQuality: VideoQuality(rawValue: 0)), kind: Kind(rawValue: 1)
XMAlertView deinit
[XMAlertView] dealloc ...
XMAlertView deinit
[XMAlertView] dealloc ...
2026-04-10 17:21:58.022235+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.019] [YTMeetingMemberViewModel:980] [handleFetchAllParticipants()] [1775812910936-AB5650DC] → 获取会议房间所有参会者
2026-04-10 17:21:58.022537+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.019] [YTMeetingRoomViewController+LiveKitDelegate:54] [liveKit(:didChangeConnectionState:)] [1775812693879-0E447365] → 重连成功了
2026-04-10 17:21:58.027897+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.020] [YTLiveKitManager+RoomDelegate:111] [room(:participant:didSubscribeTrack:)] [1775812918006-4F640825] →
📥 成功订阅远端轨道
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 用户昵称: Optional("17766666772")
├─ 用户id: Optional("2027264147670323200_1")
├─ 连接质量: ConnectionQuality(rawValue: 0)
├─ 轨道ID: TR_VCRo4DdjvozUmW
├─ 轨道名称:
├─ 轨道来源: camera
└─ 数据流状态: StreamState(rawValue: 0)
└─ tracks: [RemoteTrackPublication(sid: TR_VCRo4DdjvozUmW, kind: Kind(rawValue: 1), source: camera)]
2026-04-10 17:21:58.028059+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.021] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(publisher) did update state: .connected
2026-04-10 17:21:58.032605+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.019] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 0
2026-04-10 17:21:58.032807+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.024] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 1
2026-04-10 17:21:58.033074+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.025] [YTMeetingMemberViewModel:990] [getAllParticipantsAndSort()] [1775812910936-AB5650DC] → getAllParticipantsAndSort 111:1
2026-04-10 17:21:58.033234+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.027] [YTMeetingRoomVM:274] [changePermission(types:oper:state:isOn:)] [1775812693879-0E447365] → 会议权限变更:[Meeting.YTMeetingPermissionType.camera], oper:user, state:nil, isOn:true
2026-04-10 17:21:58.033609+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.027] [YTMeetingRoomVM:274] [changePermission(types:oper:state:isOn:)] [1775812693879-0E447365] → 会议权限变更:[Meeting.YTMeetingPermissionType.mic], oper:user, state:nil, isOn:false
2026-04-10 17:21:58.033979+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.029] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 2
2026-04-10 17:21:58.034069+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.029] [YTMeetingMemberViewModel:997] [getAllParticipantsAndSort()] [1775812910936-AB5650DC] → getAllParticipantsAndSort 222:2
2026-04-10 17:21:58.034174+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.029] [YTLiveKitManager:344] [enableCamera(:)] [1775812693879-0E447365] → 摄像头是否开启: true
2026-04-10 17:21:58.034364+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:58.030] [YTLiveKitManager:353] [enableMicrophone(:)] [1775812693879-0E447365] → 麦克风是否打开: false
2026-04-10 17:21:58.034444+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.032] [YTLiveKitManager:360] [enableMicrophone(:)] [1775812896224-D25554ED] → 手动调用麦克风 false
2026-04-10 17:21:58.034565+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.032] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 2
2026-04-10 17:21:58.034718+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:58.032] [YTMeetingMemberViewModel:1755] [findAndSetFocusUser(participants:)] [1775812910936-AB5650DC] → 进来时没有焦点用户222 nil
2026-04-10 17:21:58.034858+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.033] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → target: publisher, connectionState: .connected
2026-04-10 17:21:58.035115+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.033] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Received data channel reliable for subscriber
2026-04-10 17:21:58.035247+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.034] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → isMultitaskingAccessSupported: false
2026-04-10 17:21:58.035985+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.036] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Received data channel lossy for subscriber
2026-04-10 17:21:58.036715+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:58.036] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Server opened data channel reliable(open)
2026-04-10 17:21:58.036964+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:58.037] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → [publish] LocalVideoTrack(sid: nil, name: camera, source: camera) options: nil...
2026-04-10 17:21:58.037376+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.037] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → startStopCounter 0 -> 1
2026-04-10 17:21:58.037760+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → CameraCapturer.preferredPixelFormat: kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
2026-04-10 17:21:58.038091+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Existing multiCam devices: [[前置相机][com.apple.avfoundation.avcapturedevice.built-in_video:1]]
2026-04-10 17:21:58.038602+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Compatible multiCam devices: [[后置双广角镜头][com.apple.avfoundation.avcapturedevice.built-in_video:6], [后置相机][com.apple.avfoundation.avcapturedevice.built-in_video:0], [后置超广角相机][com.apple.avfoundation.avcapturedevice.built-in_video:5]]
2026-04-10 17:21:58.039732+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Server opened data channel lossy(open)
2026-04-10 17:21:58.040097+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.040] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sortedFormats: ["(dimensions: Dimensions(192x144), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(192x144), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(352x288), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(352x288), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(480x360), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(480x360), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(960x540), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(960x540), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1024x768), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1024x768), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1280x720), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1440x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1440x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(2592x1944), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(2592x1944), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3264x2448), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3264x2448), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3840x2160), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(3840x2160), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(4032x3024), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(4032x3024), Format(fps: 0...30, isMultiCamSupported: false)"], target dimensions: Dimensions(1280x720)
2026-04-10 17:21:58.042022+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.042] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Format selected using predicate: multiCam, aspectRatio, fps
2026-04-10 17:21:58.044214+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.044] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → starting camera capturer device: <AVCaptureFigVideoDevice: 0x12e852600 [后置双广角镜头][com.apple.avfoundation.avcapturedevice.built-in_video:6]>, format: (format: 'vide'/'420v' 1280x 720, { 1- 30 fps}, photo dims:{1280x720,4224x2376}, fov:107.803, gdc fov:100.567, supports vis (max strength:Low), max zoom:123.75 (upscales @3.00), AF System:2, ISO:32.0-3072.0, SS:0.000018-1.000000, supports HDR, supports depth, supports multicam, supports high photo quality, dimensions: Dimensions(1280x720)), fps: 24(0...30)
2026-04-10 17:21:58.048223+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.048] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Data channel open already resolved [:] with success()
2026-04-10 17:21:58.057173+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1775] [normalScreenVideoHandle()] [1775812693879-0E447365] → 之前不存在全屏视频,此时也没有共享屏幕和聚焦用户
2026-04-10 17:21:58.057588+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1853] [shareScreenHandle()] [1775812693879-0E447365] → 此时不存在共享屏幕,之前也没用全屏视频
2026-04-10 17:21:58.057853+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1897] [focusUserHandel()] [1775812693879-0E447365] → 此时不存在焦点用户
2026-04-10 17:21:58.057938+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1899] [focusUserHandel()] [1775812693879-0E447365] → 之前没用全屏用户
2026-04-10 17:21:58.058025+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1674] [changeVideoStatus()] [1775812693879-0E447365] → 上次的视频状态:true, 此次的视频状态 : true
2026-04-10 17:21:58.058101+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1956] [handsUpUserChange()] [1775812693879-0E447365] → 此次的举手用户数 : 0
2026-04-10 17:21:58.058201+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:58.057] [YTMeetingRoomViewController:1280] [addHandUpUserObserver()] [177581
Describe the bug
the video stream changes to the rear camera and the front camera switch becomes ineffective, when the network connection was lost and then reconnected..
SDK Version
2.12.1
iOS/macOS Version
all version
Xcode Version
26.3
Steps to Reproduce
1、In the meeting, the network connection was lost and then reconnected..
2、First failed in quick mode, then successful automatic reconnection in full mode.
3、The video stream becomes the content of the rear camera, and the front camera switch does not work.
4、 Camera switch work after I kill the app .
Logs
2026-04-10 17:21:50.959476+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:50.959] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → Failed calling startReconnect, error: Error Domain=io.livekit.swift-sdk Code=104 "Invalid state" UserInfo={NSLocalizedDescription=Invalid state}
2026-04-10 17:21:51.036134+0800 ShareTalk[62564:14439009] Connection 33: received failure notification
2026-04-10 17:21:51.036176+0800 ShareTalk[62564:14439009] Connection 33: failed to connect 1:50, reason -1
2026-04-10 17:21:51.036192+0800 ShareTalk[62564:14439009] Connection 33: encountered error(1:50)
2026-04-10 17:21:51.036998+0800 ShareTalk[62564:14438630] Task <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15> HTTP load failed, 0/0 bytes (error code: -1020 [1:50])
2026-04-10 17:21:51.040126+0800 ShareTalk[62564:14439009] Task <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15> finished with error [-1020] Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={kCFStreamErrorCodeKey=50, NSUnderlyingError=0x28a5af630 {Error Domain=kCFErrorDomainCFNetwork Code=-1020 "(null)" UserInfo={NSURLErrorNWPathKey=unsatisfied (No network route), kCFStreamErrorCodeKey=50, kCFStreamErrorDomainKey=1}}, NSURLErrorFailingURLSessionTaskErrorKey=LocalDataTask <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15>, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalDataTask <0AD6D931-B4B7-4FDF-963A-B5846063C9C9>.<15>"
), NSLocalizedDescription=目前不允许数据连接。, NSErrorFailingURLStringKey=https://ios.bugly.qq.com/rqd/sync?aid=08A414EC-F53B-4356-AE42-B3C9C24FD402, NSErrorFailingURLKey=https://ios.bugly.qq.com/rqd/sync?aid=08A414EC-F53B-4356-AE42-B3C9C24FD402, kCFStreamErrorDomainKey=1}
2026-04-10 17:21:51.525266+0800 ShareTalk[62564:14438514] [2026-04-10 17:21:51.525] [WJWebSocket:289] [sendPing(completion:)] [1775812910937-78DA5C3E] → WebSocket ping timeout
2026-04-10 17:21:51.527328+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:51.527] [WJWebSocket:146] [scheduleReconnect()] [1775812910937-78DA5C3E] → WebSocket 外部设置不自动重连
2026-04-10 17:21:51.530610+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:51.530] [WJWebSocketManager:328] [connect()] [1775812693879-0E447365] → Websocket发生错误,error: Optional(Error Domain=websocket.ping.timeout Code=-1 "WebSocket ping timeout" UserInfo={NSLocalizedDescription=WebSocket ping timeout})
2026-04-10 17:21:52.014748+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.014] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [Connect] Starting retry attempt 2/2 with mode: .quick
2026-04-10 17:21:52.017356+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.017] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .connected -> .connected, reconnectMode: Optional(.full)
2026-04-10 17:21:52.019700+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:52.019] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [Connect] starting .full reconnect sequence...
2026-04-10 17:21:52.020342+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.020] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .connected -> .reconnecting, reconnectMode: Optional(.full)
2026-04-10 17:21:52.023338+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.023] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil, isFullReconnect: true
2026-04-10 17:21:52.024072+0800 ShareTalk[62564:14438630] 🔴 [2026-04-10 17:21:52.024] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil
2026-04-10 17:21:52.025512+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.025] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812910937-78DA5C3E] →
🔌 房间连接状态变更
├─ 房间名称: Optional("gomeet_user_2042532719942320129")
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 元数据: Optional("")
├─ 房间人数: 2
├─ 连接状态: .reconnecting
└─ 失败原因: nil
├─ 自己的昵称: Optional("17766666770级阵风")
2026-04-10 17:21:52.026801+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.027] [YTMeetingRoomViewController+LiveKitDelegate:30] [liveKit(:didChangeConnectionState:)] [1775812910937-78DA5C3E] → livekit进入自动full模式重连阶段
2026-04-10 17:21:52.029922+0800 ShareTalk[62564:14438630] [2026-04-10 17:21:52.029] [YTMeetingRoomViewController+UI:363] [reconnecting()] [1775812910937-78DA5C3E] → 会议中,断线后,livekit完全重连中
2026-04-10 17:21:52.090824+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.091] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812724752-9201871E] → isPlayoutEnabled: true, isRecordingEnabled: true
2026-04-10 17:21:52.096536+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.096] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Failed to unpublish track TR_VCDt5Ddoa3uy5m with error Error Domain=io.livekit.swift-sdk Code=201 "WebRTC error(Failed to remove track)" UserInfo={NSLocalizedDescription=WebRTC error(Failed to remove track)}
2026-04-10 17:21:52.111493+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.111] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → notify: true
2026-04-10 17:21:52.111848+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:52.111] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Failed to unpublish track TR_AMfivShizkdCrR with error Error Domain=io.livekit.swift-sdk Code=201 "WebRTC error(Failed to remove track)" UserInfo={NSLocalizedDescription=WebRTC error(Failed to remove track)}
2026-04-10 17:21:52.118191+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:52.116] [YTLiveKitManager+RoomDelegate:305] [room(:participant:didUnpublishTrack:)] [1775812910958-7FBC868E] → 未连接状态远端用户取消发布音视频轨道,不需要处理
2026-04-10 17:21:52.118438+0800 ShareTalk[62564:14438957] [2026-04-10 17:21:52.116] [YTLiveKitManager+RoomDelegate:131] [room(:participantDidDisconnect:)] [1775812910958-7FBC868E] → 未连接状态用户离开房间,不需要处理
2026-04-10 17:21:52.120570+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.120] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → withError: nil
2026-04-10 17:21:52.120920+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:52.120] [YTLiveKitManager+RoomDelegate:220] [room(:participant:didUpdateConnectionQuality:)] [1775812910842-F8D83881] →
📶 参与者网络连接质量更新
├─ 房间id: nil
├─ 用户昵称: nil
├─ 用户id: nil
└─ 连接质量: ConnectionQuality(rawValue: 0)
2026-04-10 17:21:52.121041+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:52.120] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → Participant active
2026-04-10 17:21:52.121224+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.121] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → [Connect] mode: .full
2026-04-10 17:21:52.121951+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → Reconnecting with url: wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1
2026-04-10 17:21:52.122098+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → Participant active already resolved [:] with success()
2026-04-10 17:21:52.122270+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:52.122] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → .disconnected -> .reconnecting
2026-04-10 17:21:52.124655+0800 ShareTalk[62564:14438951] Connection 34: received failure notification
2026-04-10 17:21:52.124691+0800 ShareTalk[62564:14438951] Connection 34: failed to connect 1:50, reason -1
2026-04-10 17:21:52.124709+0800 ShareTalk[62564:14438951] Connection 34: encountered error(1:50)
2026-04-10 17:21:52.125485+0800 ShareTalk[62564:14438514] Task <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1> HTTP load failed, 0/0 bytes (error code: -1020 [1:50])
2026-04-10 17:21:52.125643+0800 ShareTalk[62564:14438514] Task <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1> finished with error [-1020] Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。}
2026-04-10 17:21:52.125972+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.126] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → didCompleteWithError: Optional(Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。})
2026-04-10 17:21:52.126285+0800 ShareTalk[62564:14438514] 🔴 [2026-04-10 17:21:52.126] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Uncategorized error for: Error Domain=NSURLErrorDomain Code=-1020 "目前不允许数据连接。" UserInfo={NSErrorFailingURLStringKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSErrorFailingURLKey=wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&auto_subscribe=1&adaptive_stream=1, NSURLErrorRelatedURLSessionTaskErrorKey=(
"LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>"
), NSURLErrorFailingURLSessionTaskErrorKey=LocalWebSocketTask <265BB39F-196F-4B54-B7A9-9372B4A28B5F>.<1>, NSLocalizedDescription=目前不允许数据连接。}
2026-04-10 17:21:52.126635+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.127] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown})
2026-04-10 17:21:52.127319+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:52.127] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → .reconnecting -> .disconnected
2026-04-10 17:21:52.127905+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → [Connect] Reconnect mode: .full failed with error: Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}
2026-04-10 17:21:52.128137+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → [Connect] Sequence failed with error: Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}
2026-04-10 17:21:52.128326+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}}), isFullReconnect: false
2026-04-10 17:21:52.128457+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.128] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → withError: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}})
2026-04-10 17:21:52.128651+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.129] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → notify: true
2026-04-10 17:21:52.130403+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:52.130] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → connectionState: .reconnecting -> .disconnected, reconnectMode: nil
2026-04-10 17:21:52.131623+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:52.131] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812896224-D25554ED] →
🔌 房间连接状态变更
├─ 房间名称: nil
├─ 房间id: nil
├─ 元数据: nil
├─ 房间人数: 0
├─ 连接状态: .disconnected
└─ 失败原因: Optional(Error Domain=io.livekit.swift-sdk Code=202 "Network error(Unknown)" UserInfo={NSLocalizedDescription=Network error(Unknown), NSUnderlyingError=0x2855a96d0 {Error Domain=io.livekit.swift-sdk Code=0 "Unknown" UserInfo={NSLocalizedDescription=Unknown}}})
├─ 自己的昵称: nil
2026-04-10 17:21:52.132285+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:52.132] [YTMeetingRoomViewController+LiveKitDelegate:40] [liveKit(:didChangeConnectionState:)] [1775812896224-D25554ED] → livekit full模式重连失败, 进入业务方重连阶段
2026-04-10 17:21:52.132317+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:52.132] [YTMeetingRoomViewController+UI:388] [showConnectFailedAlert()] [1775812693879-0E447365] → 重连失败了
2026-04-10 17:21:54.527050+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:54.526] [WJWebSocket:289] [sendPing(completion:)] [1775812896224-D25554ED] → WebSocket ping timeout
2026-04-10 17:21:54.527943+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:54.527] [WJWebSocket:146] [scheduleReconnect()] [1775812896224-D25554ED] → WebSocket 外部设置不自动重连
2026-04-10 17:21:54.528458+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:54.527] [WJWebSocketManager:328] [connect()] [1775812693879-0E447365] → Websocket发生错误,error: Optional(Error Domain=websocket.ping.timeout Code=-1 "WebSocket ping timeout" UserInfo={NSLocalizedDescription=WebSocket ping timeout})
2026-04-10 17:21:55.291670+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:55.291] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → status: unsatisfied, interfaces: ["wifi-16"], gateways: [], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55 UMengCommon<7.5.6>(Info):[UMReachability:59]Reachability Flag Status: -R t------ networkStatusForFlags
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:241]E_UM_C_NET_IDLE and no ready status.
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[MobClickInternal:3402]UMAnalytics发送配置:sdk_version:(null), device_id:(null), model:(null), os_version:(null), app_version:(null)
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[MobClickInternal:3426]UMAnalytics统计发送内容:active_user:(null), activate_msg:(null), sessions:(
{
id = "AD2FC0948EB49992C6895D7828F4E663";
start_time = "1775812906858";
state_s = 1;
},
{
id = "D2EC0B59BE72D418FCB0CE4B4210A2BC";
start_time = "1775812910890";
state_s = 1;
}
), ekv:(null) ,error:(null)
2026-04-10 17:21:55.439293+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:55.439] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55.440592+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:55.440] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910958-7FBC868E] → didSwitch type: quick on & off
2026-04-10 17:21:55.607571+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:55.606] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMNetworkWork:330]网络请求成功(Response Applog) {"success": "ok"}
2026-04-10 17:21:55 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:241]E_UM_C_NET_IDLE and no ready status.
2026-04-10 17:21:55.804742+0800 ShareTalk[62564:14438957] [tcp] tcp_input [C35.1.1:3] flags=[R] seq=2300693292, ack=2658520248, win=0 state=LAST_ACK rcv_nxt=2300693292, snd_una=3365284528
2026-04-10 17:21:55.804972+0800 ShareTalk[62564:14438957] [tcp] tcp_input [C35.1.1:3] flags=[R] seq=2300693292, ack=2658520248, win=0 state=CLOSED rcv_nxt=2300693292, snd_una=3365284528
2026-04-10 17:21:55.844624+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:55.844] [WJWebSocket:146] [scheduleReconnect()] [1775812693879-0E447365] → WebSocket 外部设置不自动重连
2026-04-10 17:21:55.844980+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:55.844] [WJWebSocket:81] [init(request:)] [1775812693879-0E447365] → WebSocket NetworkMonitor isAvailable: true
cURL: $ curl -v
-X GET
-b "JSESSIONID=91E77C6578A3CFD29069017E328B597C"
-H "Accept-Language: zh-Hans-CN;q=1.0, en-CN;q=0.9"
-H "Accept-Encoding: br;q=1.0, gzip;q=0.9, deflate;q=0.8"
-H "User-Agent: ShareTalk/10.1.2 (com.sharexm.xm.test; build:1; iOS 16.3.1) Alamofire/5.11.0"
"http://api-im-etest2.sharexm.cn/timestamp?"
2026-04-10 17:21:55.916289+0800 ShareTalk[62564:14438953] [2026-04-10 17:21:55.916] [XMAPIPlugin:58] [didReceive(:data:request:)] [1775812910842-F8D83881] →
请求Response
├─ HTTP状态码: 200
├─ URL: http://api-im-etest2.sharexm.cn/timestamp?
├─ 请求头: [:]
├─ Params: 无请求参数
├─ Response: Optional("{"msg":"OK","code":200,"data":1775812916048,"success":true,"error":false}")
dealloc http://api-im-etest2.sharexm.cn/timestamp
2026-04-10 17:21:56 UMengCommon<7.5.6>(Debug):[UMNetworkWork:330]网络请求成功(Response Applog) {"success": "ok"}
2026-04-10 17:21:56 UMengCommon<7.5.6>(Debug):[UMWorkDispatch:232]E_UM_C_NET_IDLE and no data to send.
2026-04-10 17:21:56.045433+0800 ShareTalk[62564:14438509] [tcp] tcp_input [C36.1.1:3] flags=[R] seq=3188438054, ack=924847685, win=0 state=LAST_ACK rcv_nxt=3188438054, snd_una=2614865333
2026-04-10 17:21:56.045701+0800 ShareTalk[62564:14438509] [tcp] tcp_input [C36.1.1:3] flags=[R] seq=3188438054, ack=924847685, win=0 state=CLOSED rcv_nxt=3188438054, snd_una=2614865333
2026-04-10 17:21:56.732396+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.732] [YTMeetingRoomViewController+UI:458] [connectFailed()] [1775812910842-F8D83881] → 2026496420483579904_2 连接失败 重试第1次
2026-04-10 17:21:56.732611+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.732] [YTMeetingRoomViewController:504] [connectLiveKit()] [1775812910842-F8D83881] → 开始执行第1次重连
2026-04-10 17:21:56.757594+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.755] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → status: satisfied, interfaces: ["wifi-16"], gateways: [10.13.15.254:0], activeIp: Optional("10.13.0.8")
2026-04-10 17:21:56.817243+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.817] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Connecting to room...
2026-04-10 17:21:56.817745+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil, isFullReconnect: false
2026-04-10 17:21:56.818016+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → withError: nil
2026-04-10 17:21:56.818286+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:56.818] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → notify: true
2026-04-10 17:21:56.819156+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:56.819] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → connectionState: .disconnected -> .connecting, reconnectMode: nil
2026-04-10 17:21:56.820359+0800 ShareTalk[62564:14438630] [2026-04-10 17:21:56.820] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812905950-2C9CE651] →
🔌 房间连接状态变更
├─ 房间名称: nil
├─ 房间id: nil
├─ 元数据: nil
├─ 房间人数: 0
├─ 连接状态: .connecting
└─ 失败原因: nil
├─ 自己的昵称: nil
2026-04-10 17:21:56.820966+0800 ShareTalk[62564:14438630] 🔴 [2026-04-10 17:21:56.821] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Concurrent enable microphone mode: false
2026-04-10 17:21:56.821145+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.821] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → withError: nil
2026-04-10 17:21:56.821624+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.822] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → Connecting with url: wss://livekit-etest2.sharexm.cn/rtc?protocol=16&sdk=swift&version=2.12.1&os=iOS&os_version=16.3.1&device_model=iPhone12,1&network=wifi&auto_subscribe=1&adaptive_stream=1
2026-04-10 17:21:56.821729+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.822] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → .disconnected -> .connecting
2026-04-10 17:21:56.891726+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.891] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Join response id: 4D1A272E-E8AC-47AB-A7C9-BB6B1DC9623B waiting for milliseconds(7000)
2026-04-10 17:21:56.894412+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.894] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → ping/pong starting with interval: 5, timeout: 15
2026-04-10 17:21:56.894567+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.894] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → ServerInfo(edition: standard, version: 1.9.11, protocol: 16, region: , nodeID: ND_eKHiy7AeQkDN, debugInfo: )
2026-04-10 17:21:56.894690+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → .connecting -> .connected
2026-04-10 17:21:56.894968+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Configuring transports with JOIN response...
2026-04-10 17:21:56.895105+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.895] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → subscriberPrimary: true
2026-04-10 17:21:56.896676+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.897] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.897715+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.897] [YTLiveKitManager+RoomDelegate:230] [room(:participant:didUpdateMetadata:)] [1775812910937-78DA5C3E] → 未连接状态参会者元数据更新,不需要处理
2026-04-10 17:21:56.898425+0800 ShareTalk[62564:14438953] [2026-04-10 17:21:56.898] [YTLiveKitManager+RoomDelegate:342] [room(:participant:didUpdateName:)] [1775812910937-78DA5C3E] → 未连接状态参会者名字更新,不需要处理
2026-04-10 17:21:56.898667+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:56.898] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.899064+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.898] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812905950-2C9CE651] → enabledPublishCodecs: video/VP8, video/H264, video/VP9, video/AV1, video/H265, audio/PCMU, audio/PCMA, audio/opus, audio/red
2026-04-10 17:21:56.899338+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:56.898] [YTLiveKitManager+RoomDelegate:183] [room(:participant:didUpdatePermissions:)] [1775812910937-78DA5C3E] → 未连接状态参会者权限更新,不需要处理
2026-04-10 17:21:56.899456+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.899] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → ShouldNegotiate for publisher
2026-04-10 17:21:56.900470+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:56.900] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → dataChannel.Optional("reliable") : Optional(-1)
2026-04-10 17:21:56.900883+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:56.901] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → dataChannel.Optional("lossy") : Optional(-1)
2026-04-10 17:21:56.901161+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:56.901] [YTLiveKitManager+RoomDelegate:230] [room(:participant:didUpdateMetadata:)] [1775812896224-D25554ED] → 未连接状态参会者元数据更新,不需要处理
2026-04-10 17:21:56.901437+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:56.901] [YTLiveKitManager+RoomDelegate:342] [room(:participant:didUpdateName:)] [1775812906051-CEE49501] → 未连接状态参会者名字更新,不需要处理
2026-04-10 17:21:56.902677+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.902] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → [Connect] Fast publish enabled: true
2026-04-10 17:21:56.903182+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:56.902] [YTLiveKitManager+RoomDelegate:183] [room(:participant:didUpdatePermissions:)] [1775812910937-78DA5C3E] → 未连接状态参会者权限更新,不需要处理
2026-04-10 17:21:56.903381+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.903] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] →
2026-04-10 17:21:56.903801+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.903] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Participant active already resolved [:] with failure(Error Domain=io.livekit.swift-sdk Code=502 "Participant removed(Participant removed 2027264147670323200_1)" UserInfo={NSLocalizedDescription=Participant removed(Participant removed 2027264147670323200_1)})
2026-04-10 17:21:56.903915+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:56.904] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Primary transport connect id: 9FF5DA5F-136B-47DA-8A1B-D2E9687E460D waiting for milliseconds(30000)
2026-04-10 17:21:56.904415+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.904] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → did update subscriptionPermission: LiveKitClient.Livekit_SubscriptionPermissionUpdate:
participant_sid: "PA_WmQxr8EYc6Cy"
track_sid: "TR_VCRo4DdjvozUmW"
allowed: true
2026-04-10 17:21:56.904611+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.905] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Received offer with offerId: 71, creating & sending answer...
2026-04-10 17:21:56.907023+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.907] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → participants: [LiveKitClient.Livekit_ParticipantInfo:
sid: "PA_h3f6FU24jqxW"
identity: "2026496420483579904_2"
state: JOINED
metadata: "{"avatar":"https://tos-im-test2.xmsharetalk.cn/UseTest_zzw/20250113_lol_89.jpg","role":["create"],"update_field":"","change_value":"","is_left_del_role":false}"
joined_at: 1775812917
name: "17766666770级阵风"
version: 1
permission {
can_subscribe: true
can_publish: true
can_publish_data: true
can_publish_sources: [UNKNOWN, MICROPHONE, CAMERA, SCREEN_SHARE, SCREEN_SHARE_AUDIO]
}
joined_at_ms: 1775812917028
]
2026-04-10 17:21:56.907283+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.907] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:56.945962+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.946] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:56.948506+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:56.948] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Publisher onOffer with offerId: 1, sdp: v=0
o=- 6320768591096856386 2 IN IP4 127.0.0.1
s=-
t=0 0
a=group:BUNDLE 0
a=extmap-allow-mixed
a=msid-semantic: WMS
m=application 9 UDP/DTLS/SCTP webrtc-datachannel
c=IN IP4 0.0.0.0
a=ice-ufrag:aIhT
a=ice-pwd:i1mCY0zxoWCgoqQiFTn3B5/1
a=ice-options:trickle renomination
a=fingerprint:sha-256 E2:42:AA:35:7A:74:6E:91:E2:0C:BF:44:90:55:6E:EC:12:54:B2:BC:24:03:01:39:A7:E7:15:F8:42:68:06:4E
a=setup:actpass
a=mid:0
a=sctp-port:5000
a=max-message-size:262144
2026-04-10 17:21:56.977023+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:56.977] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Received answer for offerId: 1
2026-04-10 17:21:56.992621+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:56.992] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.009522+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.009] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.035580+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.035] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.047129+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:57.047] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → sending iceCandidate
2026-04-10 17:21:57.047377+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.047] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sending iceCandidate
2026-04-10 17:21:57.064820+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.065] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Received offer with offerId: 72, creating & sending answer...
2026-04-10 17:21:57.068094+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.068] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → type: LKRTCVideoTrack, track.id: TR_VCRo4DdjvozUmW, streams: ["Stream(hash: 10912199328, id: PA_WmQxr8EYc6Cy|TR_VCRo4DdjvozUmW, videoTracks: 1, audioTracks: 0)"]
2026-04-10 17:21:57.068989+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.069] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → [execution control] enqueuing entry...
2026-04-10 17:21:57.918779+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:57.918] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(subscriber) did update state: .connecting
2026-04-10 17:21:57.920181+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.920] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → target: subscriber, connectionState: .connecting
2026-04-10 17:21:57.991556+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:57.991] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(publisher) did update state: .connecting
2026-04-10 17:21:57.993278+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:57.992] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → target: publisher, connectionState: .connecting
2026-04-10 17:21:57.997038+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:57.994] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(subscriber) did update state: .connected
2026-04-10 17:21:57.998333+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:57.998] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → target: subscriber, connectionState: .connected
2026-04-10 17:21:58.001055+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:58.001] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Stopwatch(connect, signal +0.08s, engine +1.11s, total 1.18s)
2026-04-10 17:21:58.002302+0800 ShareTalk[62564:14438957] 🔴 [2026-04-10 17:21:58.001] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → [execution control] processing pending entries (1)...
2026-04-10 17:21:58.003062+0800 ShareTalk[62564:14439010] 🔴 [2026-04-10 17:21:58.002] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Connect sequence completed
2026-04-10 17:21:58.003668+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.003] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → connectionState: .connecting -> .connected, reconnectMode: nil
2026-04-10 17:21:58.006810+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:58.007] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910937-78DA5C3E] → Connected to Room(sid: Optional(RM_RDNdqBAB55PV), name: gomeet_user_2042532719942320129, serverVersion: 1.9.11, serverRegion: nil)
2026-04-10 17:21:58.007293+0800 ShareTalk[62564:14438509] 🔴 [2026-04-10 17:21:58.007] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → [execution control] processing pending entries (1)...
2026-04-10 17:21:58.008664+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.007] [YTLiveKitManager+RoomDelegate:30] [room(:didUpdateConnectionState:from:)] [1775812918006-4F640825] →
🔌 房间连接状态变更
├─ 房间名称: Optional("gomeet_user_2042532719942320129")
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 元数据: Optional("")
├─ 房间人数: 1
├─ 连接状态: .connected
└─ 失败原因: nil
├─ 自己的昵称: Optional("17766666770级阵风")
2026-04-10 17:21:58.009852+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.009] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812915605-C871308B] → [execution control] condition matching block...
[Retry] Attempt 1 of 3, delay: 0.2
2026-04-10 17:21:58.012562+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.012] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → RemoteTrackPublication set track: Optional(RemoteVideoTrack(sid: nil, name: , source: camera))
2026-04-10 17:21:58.013210+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.013] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → nil -> Optional(RemoteVideoTrack(sid: nil, name: , source: camera))
2026-04-10 17:21:58.014988+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.015] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → Track.dimensions nil -> Optional(Dimensions(1280x720))
2026-04-10 17:21:58.016204+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.016] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → [adaptiveStream] did reset trackSettings: TrackSettings(enabled: false, dimensions: Dimensions(0x0), videoQuality: VideoQuality(rawValue: 0)), kind: Kind(rawValue: 1)
XMAlertView deinit
[XMAlertView] dealloc ...
XMAlertView deinit
[XMAlertView] dealloc ...
2026-04-10 17:21:58.022235+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.019] [YTMeetingMemberViewModel:980] [handleFetchAllParticipants()] [1775812910936-AB5650DC] → 获取会议房间所有参会者
2026-04-10 17:21:58.022537+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.019] [YTMeetingRoomViewController+LiveKitDelegate:54] [liveKit(:didChangeConnectionState:)] [1775812693879-0E447365] → 重连成功了
2026-04-10 17:21:58.027897+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.020] [YTLiveKitManager+RoomDelegate:111] [room(:participant:didSubscribeTrack:)] [1775812918006-4F640825] →
📥 成功订阅远端轨道
├─ 房间id: Optional(RM_RDNdqBAB55PV)
├─ 用户昵称: Optional("17766666772")
├─ 用户id: Optional("2027264147670323200_1")
├─ 连接质量: ConnectionQuality(rawValue: 0)
├─ 轨道ID: TR_VCRo4DdjvozUmW
├─ 轨道名称:
├─ 轨道来源: camera
└─ 数据流状态: StreamState(rawValue: 0)
└─ tracks: [RemoteTrackPublication(sid: TR_VCRo4DdjvozUmW, kind: Kind(rawValue: 1), source: camera)]
2026-04-10 17:21:58.028059+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.021] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → [Connect] Transport(publisher) did update state: .connected
2026-04-10 17:21:58.032605+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.019] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 0
2026-04-10 17:21:58.032807+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.024] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 1
2026-04-10 17:21:58.033074+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.025] [YTMeetingMemberViewModel:990] [getAllParticipantsAndSort()] [1775812910936-AB5650DC] → getAllParticipantsAndSort 111:1
2026-04-10 17:21:58.033234+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.027] [YTMeetingRoomVM:274] [changePermission(types:oper:state:isOn:)] [1775812693879-0E447365] → 会议权限变更:[Meeting.YTMeetingPermissionType.camera], oper:user, state:nil, isOn:true
2026-04-10 17:21:58.033609+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.027] [YTMeetingRoomVM:274] [changePermission(types:oper:state:isOn:)] [1775812693879-0E447365] → 会议权限变更:[Meeting.YTMeetingPermissionType.mic], oper:user, state:nil, isOn:false
2026-04-10 17:21:58.033979+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.029] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 2
2026-04-10 17:21:58.034069+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.029] [YTMeetingMemberViewModel:997] [getAllParticipantsAndSort()] [1775812910936-AB5650DC] → getAllParticipantsAndSort 222:2
2026-04-10 17:21:58.034174+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.029] [YTLiveKitManager:344] [enableCamera(:)] [1775812693879-0E447365] → 摄像头是否开启: true
2026-04-10 17:21:58.034364+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:58.030] [YTLiveKitManager:353] [enableMicrophone(:)] [1775812693879-0E447365] → 麦克风是否打开: false
2026-04-10 17:21:58.034444+0800 ShareTalk[62564:14439009] [2026-04-10 17:21:58.032] [YTLiveKitManager:360] [enableMicrophone(:)] [1775812896224-D25554ED] → 手动调用麦克风 false
2026-04-10 17:21:58.034565+0800 ShareTalk[62564:14438221] [2026-04-10 17:21:58.032] [YTMeetingMemberViewModel:138] [originParticipants] [1775812910936-AB5650DC] → 参会人员数量变化 2
2026-04-10 17:21:58.034718+0800 ShareTalk[62564:14438951] [2026-04-10 17:21:58.032] [YTMeetingMemberViewModel:1755] [findAndSetFocusUser(participants:)] [1775812910936-AB5650DC] → 进来时没有焦点用户222 nil
2026-04-10 17:21:58.034858+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.033] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812896224-D25554ED] → target: publisher, connectionState: .connected
2026-04-10 17:21:58.035115+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.033] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Received data channel reliable for subscriber
2026-04-10 17:21:58.035247+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.034] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → isMultitaskingAccessSupported: false
2026-04-10 17:21:58.035985+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.036] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Received data channel lossy for subscriber
2026-04-10 17:21:58.036715+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:58.036] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Server opened data channel reliable(open)
2026-04-10 17:21:58.036964+0800 ShareTalk[62564:14438956] 🔴 [2026-04-10 17:21:58.037] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812906051-CEE49501] → [publish] LocalVideoTrack(sid: nil, name: camera, source: camera) options: nil...
2026-04-10 17:21:58.037376+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.037] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → startStopCounter 0 -> 1
2026-04-10 17:21:58.037760+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → CameraCapturer.preferredPixelFormat: kCVPixelFormatType_420YpCbCr8BiPlanarVideoRange
2026-04-10 17:21:58.038091+0800 ShareTalk[62564:14439009] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Existing multiCam devices: [[前置相机][com.apple.avfoundation.avcapturedevice.built-in_video:1]]
2026-04-10 17:21:58.038602+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Compatible multiCam devices: [[后置双广角镜头][com.apple.avfoundation.avcapturedevice.built-in_video:6], [后置相机][com.apple.avfoundation.avcapturedevice.built-in_video:0], [后置超广角相机][com.apple.avfoundation.avcapturedevice.built-in_video:5]]
2026-04-10 17:21:58.039732+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.038] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910936-AB5650DC] → Server opened data channel lossy(open)
2026-04-10 17:21:58.040097+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.040] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → sortedFormats: ["(dimensions: Dimensions(192x144), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(192x144), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(352x288), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(352x288), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(480x360), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(480x360), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(640x480), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(960x540), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(960x540), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1024x768), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1024x768), Format(fps: 0...60, isMultiCamSupported: false)", "(dimensions: Dimensions(1280x720), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1280x720), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1440x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1440x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1080), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(1920x1440), Format(fps: 0...60, isMultiCamSupported: true)", "(dimensions: Dimensions(2592x1944), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(2592x1944), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3264x2448), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3264x2448), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(3840x2160), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(3840x2160), Format(fps: 0...30, isMultiCamSupported: true)", "(dimensions: Dimensions(4032x3024), Format(fps: 0...30, isMultiCamSupported: false)", "(dimensions: Dimensions(4032x3024), Format(fps: 0...30, isMultiCamSupported: false)"], target dimensions: Dimensions(1280x720)
2026-04-10 17:21:58.042022+0800 ShareTalk[62564:14438221] 🔴 [2026-04-10 17:21:58.042] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → Format selected using predicate: multiCam, aspectRatio, fps
2026-04-10 17:21:58.044214+0800 ShareTalk[62564:14438951] 🔴 [2026-04-10 17:21:58.044] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812910842-F8D83881] → starting camera capturer device: <AVCaptureFigVideoDevice: 0x12e852600 [后置双广角镜头][com.apple.avfoundation.avcapturedevice.built-in_video:6]>, format: (format: 'vide'/'420v' 1280x 720, { 1- 30 fps}, photo dims:{1280x720,4224x2376}, fov:107.803, gdc fov:100.567, supports vis (max strength:Low), max zoom:123.75 (upscales @3.00), AF System:2, ISO:32.0-3072.0, SS:0.000018-1.000000, supports HDR, supports depth, supports multicam, supports high photo quality, dimensions: Dimensions(1280x720)), fps: 24(0...30)
2026-04-10 17:21:58.048223+0800 ShareTalk[62564:14438953] 🔴 [2026-04-10 17:21:58.048] [AppDelegate:293] [log(::source:file:type:function:line:metaData:)] [1775812725879-6B74980E] → Data channel open already resolved [:] with success()
2026-04-10 17:21:58.057173+0800 ShareTalk[62564:14438956] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1775] [normalScreenVideoHandle()] [1775812693879-0E447365] → 之前不存在全屏视频,此时也没有共享屏幕和聚焦用户
2026-04-10 17:21:58.057588+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1853] [shareScreenHandle()] [1775812693879-0E447365] → 此时不存在共享屏幕,之前也没用全屏视频
2026-04-10 17:21:58.057853+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1897] [focusUserHandel()] [1775812693879-0E447365] → 此时不存在焦点用户
2026-04-10 17:21:58.057938+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1899] [focusUserHandel()] [1775812693879-0E447365] → 之前没用全屏用户
2026-04-10 17:21:58.058025+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1674] [changeVideoStatus()] [1775812693879-0E447365] → 上次的视频状态:true, 此次的视频状态 : true
2026-04-10 17:21:58.058101+0800 ShareTalk[62564:14439010] [2026-04-10 17:21:58.057] [YTMeetingMemberViewModel:1956] [handsUpUserChange()] [1775812693879-0E447365] → 此次的举手用户数 : 0
2026-04-10 17:21:58.058201+0800 ShareTalk[62564:14438509] [2026-04-10 17:21:58.057] [YTMeetingRoomViewController:1280] [addHandUpUserObserver()] [177581