Skip to content

NetworkMonitorKit - A simple Swift package to monitor network connectivity using NWPathMonitor.

License

Notifications You must be signed in to change notification settings

Rohijulislam/NetworkMonitorKit

Repository files navigation

📡 NetworkMonitorKit

A simple Swift package to monitor network connectivity using NWPathMonitor.

Swift Platforms License


📌 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 FileAdd 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.

About

NetworkMonitorKit - A simple Swift package to monitor network connectivity using NWPathMonitor.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages