diff --git a/ios/Runner/VPN/VPNManager.swift b/ios/Runner/VPN/VPNManager.swift index fbfae96..fb618a5 100755 --- a/ios/Runner/VPN/VPNManager.swift +++ b/ios/Runner/VPN/VPNManager.swift @@ -194,7 +194,9 @@ class VPNManager: ObservableObject { func connect(with config: String, disableMemoryLimit: Bool = false) async throws { await set(upload: 0, download: 0) - guard state == .disconnected else { return } + // 修复:放宽前置条件,允许在非 connected 状态下连接 + // 只要不是已连接状态,都允许尝试连接(包括 invalid、reasserting 等状态) + guard state != .connected else { return } do { try await enableVPNManager() try manager.connection.startVPNTunnel(options: [