Bluetooth peer-to-peer mesh networking for iOS
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.

Underdark iOS

Peer-to-peer networking library for iOS and Android, with Wi-Fi and Bluetooth support.

This repository contains library binaries, example app with sources and also short “Getting Started” guide below.


Underdark is published under the Underdark License, which is modified Apache 2.0 license with added requirement that applications that use the library must add to their app store description the following line: “Mesh networking by”

Demo apps

Video demo:


You can contact me via Telegram at or by email at


  1. Download latest version: Download or previous version:
  2. Unarchive downloaded .zip file into your project subdirectoy.
  3. Add all *.framework files/dirs from unarchive directory to “Embedded binaries” and “Linked Frameworks and Libraries” in your project target’s settings in Xcode.
  4. Add unarchived directory to "Framework Search Paths" in your Xcode Target's Build Settings.
  5. When using framework’s classes, import them with @import Underdark; in Objective-C or import Underdark in Swift.

Publishing your app to App Store

  1. Install Carthage
  2. Add "Run Script" build phase to your app target's build phases with /usr/local/bin/carthage copy-frameworks code.
  3. As its input files list paths to all *.framework files in previously unarchived directory like that:
  1. Place that Run Script build phase AFTER "Embed Frameworks" build phase.
  2. See more here:

Getting started

Underdark API is very simple — it consists of entry class UDUnderdark with method configureTransport* — it allows you to create UDTransport instance with desired parameters (like network interface type) and specify UDTransportDelegate implementation for callbacks.

Full documentation resides in appledoc of Underdark.framework, starting from UDUnderdark class.