Skip to content

teenagelove/NetworkScanner

Repository files navigation

English | Русский

Network Scanner Logo Network Scanner

iOS 15+ SwiftUI CoreData CocoaPods Swift Package Manager CoreBluetooth MMLanScan Lottie MVVM Architecture

A powerful network scanning utility for iOS, built with SwiftUI and MVVM architecture. The application provides comprehensive tools for discovering devices on your Local Area Network (LAN) using MMLanScan and detecting nearby Bluetooth peripherals with CoreBluetooth. It features a modern interface with Lottie animations and robust data persistence using CoreData.

⚠️ Important

MAC addresses and device brands are not available on iOS 11+ due to Apple's privacy restrictions. This is a system-level limitation affecting all network scanning applications.

✨ Features

  • 📡 LAN Scanner: Quickly detect all devices connected to your Wi-Fi network using the robust MMLanScan library.
  • 🔵 Bluetooth Scanner: Discover nearby Bluetooth devices, view their signal strength (RSSI), connection status, and explore advertised services using CoreBluetooth.
  • 💾 History & Persistence: Automatically save your scan sessions to a local CoreData database. Filter results by time and device name for easy access.
  • 📱 Device Details: View detailed technical information about every discovered device.
  • 🎨 Modern UI: A clean, responsive interface enhanced with smooth Lottie animations, including a dedicated Launch Screen.
  • 👆 Gestures & Refresh: Manage data intuitively with swipe-to-delete gestures and pull-to-refresh functionality.
  • ⚡️ Fast Search: Super fast search capability powered directly by the database.
  • 🛡️ Robust Error Handling: Comprehensive error handling to ensure a smooth user experience.

🖼️ Preview

Permissions (iOS 26.1) Bluetooth Scanning (iOS 26.1) Bluetooth Error (iOS 26.1)
Permissions Bluetooth Scanning Bluetooth Error
LAN Scanning (iOS 17.5) LAN Error (iOS 26.1) History (iOS 17.5)
LAN Scanning LAN Error History

🛠️ Technologies & Architecture

The project is built using the MVVM (Model-View-ViewModel) architectural pattern to ensure separation of concerns and testability.

  • SwiftUI: For building a declarative and responsive user interface.
  • CoreData: For local data persistence of scan history.
  • CoreBluetooth: For interacting with Bluetooth Low Energy devices.
  • MMLanScan: A powerful library for network discovery.
  • Lottie: For rendering high-quality vector animations.
  • CocoaPods & SPM: Used for dependency management.

🚀 Installation

This project uses CocoaPods for some dependencies.

  1. Clone the repository:

    git clone https://github.com/teenagelove/NetworkScanner.git
    cd NetworkScanner
  2. Install Pods:

    pod install
  3. Open the Workspace: ⚠️ Important: Always open the .xcworkspace file, not the .xcodeproj file.

    open NetworkScanner.xcworkspace

👥 Contributors

📄 License

This project is available under the MIT license. See the LICENSE file for more info.

About

A powerful network scanning utility for iOS, built with SwiftUI. The application provides comprehensive tools for discovering devices on your Local Area Network (LAN) using MMLanScan and detecting nearby Bluetooth peripherals with CoreBluetooth. It features a modern interface with Lottie animations and robust data persistence using CoreData.

Topics

Resources

License

Stars

Watchers

Forks

Contributors