diff --git a/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityPlusPlugin.swift b/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityPlusPlugin.swift index 5159876e56..9577e39bdb 100644 --- a/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityPlusPlugin.swift +++ b/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/ConnectivityPlusPlugin.swift @@ -12,7 +12,9 @@ public class ConnectivityPlusPlugin: NSObject, FlutterPlugin, FlutterStreamHandl init(connectivityProvider: ConnectivityProvider) { self.connectivityProvider = connectivityProvider super.init() - self.connectivityProvider.connectivityUpdateHandler = connectivityUpdateHandler + self.connectivityProvider.connectivityUpdateHandler = { [weak self] connectivityTypes in + self?.connectivityUpdateHandler(connectivityTypes: connectivityTypes) + } } public static func register(with registrar: FlutterPluginRegistrar) { @@ -31,6 +33,7 @@ public class ConnectivityPlusPlugin: NSObject, FlutterPlugin, FlutterStreamHandl streamChannel.setStreamHandler(instance) registrar.addMethodCallDelegate(instance, channel: channel) + registrar.publish(instance) } public func detachFromEngine(for registrar: FlutterPluginRegistrar) { diff --git a/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/PathMonitorConnectivityProvider.swift b/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/PathMonitorConnectivityProvider.swift index b7ee031120..fbf2ebc179 100644 --- a/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/PathMonitorConnectivityProvider.swift +++ b/packages/connectivity_plus/connectivity_plus/ios/connectivity_plus/Sources/connectivity_plus/PathMonitorConnectivityProvider.swift @@ -60,7 +60,9 @@ public class PathMonitorConnectivityProvider: NSObject, ConnectivityProvider { if (pathMonitor == nil) { let pathMonitor = NWPathMonitor() pathMonitor.start(queue: queue) - pathMonitor.pathUpdateHandler = pathUpdateHandler + pathMonitor.pathUpdateHandler = { [weak self] path in + self?.pathUpdateHandler(path: path) + } self.pathMonitor = pathMonitor } return self.pathMonitor!