Contents

rohijulislam/networkmonitorkit

*A simple Swift package to monitor network connectivity using `NWPathMonitor`.*

πŸ“Œ Features

βœ… Detects real-time network connectivity changes. βœ… Supports Wi-Fi, Cellular, Ethernet, and Loopback interfaces. βœ… Provides details like IPv4/IPv6 support and DNS availability. βœ… Uses AsyncStream for easy async monitoring.


Installation

Using Swift Package Manager (SPM)

  1. Open Xcode, go to File β†’ Add Packages.
  2. Enter the repository URL: https://github.com/Rohijulislam/NetworkMonitorKit.git
  3. Select Add Package and import it into your project:
import NetworkMonitorKit

πŸ› οΈ Usage

1️⃣ Start Monitoring Network Status

let networkMonitor = NetworkMonitorKit()
networkMonitor.startMonitoring()

2️⃣ Check if Network is Available

if networkMonitor.isNetworkAvailable {
    print("βœ… Network is available")
} else {
    print("❌ No network connection")
}

3️⃣ Get Connection Details

let details = networkMonitor.connectionDetails
print("Interface Type: \(details.interfaceType)")
print("Supports IPv4: \(details.supportsIPv4)")
print("Supports IPv6: \(details.supportsIPv6)")

4️⃣ Monitor Network Status Asynchronously

Task {
    for await status in networkMonitor.monitorNetworkStatus() {
        print("πŸ”„ Network status changed: \(status)")
    }
}

License

This package is released under the MIT License.

Package Metadata

Repository: rohijulislam/networkmonitorkit

Default branch: main

README: README.md