A board with parameters during development & testing 📺Goodbye console logging!

What's New

Support for Debug/Release mode


With the init parameter ignoreAllOperations you can choose if DevBoard should run as usual or ignore all operations.

MadeInSweden Status

Version Carthage SPM CocoaPods

Languages Swift

🌟 Give this repo a star and help its development grow! 🌟


The console is great for logging and keeping track of whats going on in your app, whether you do logging in Xcode in the or the But all that logging is sometimes and often just too much 🤯🤦‍♂️, and you easily loose important information.

Here comes DevBoard to the rescue!

With DevBoard you can keep track of exactly what you want and see exactly only that! BOOM! Elevator pitch nailed it!


How It Works

Short Story
  • You run the built-in macOS PHP server.
  • You send parameters from your app to a page on the server, which then saves those parameters to a JSON file.
  • That JSON file with those parameters are displayed in another web page.
Long Story

In the www folder double click Run_DevBoard_Server.command to run it, this will start the built-in macOS PHP server on localhost:8888 and use the root directory of the command file.

Then the two web pages in the www folder will be opened DevBoardReceiver.php and DevBoardViewer.php.

The DevBoardReceiver.php page will first launch with example parameters, which will be saved to the DevBoard_Log.json file.

The DevBoardViewer.php page will read the JSON file and display those parameters.

You can now start using DevBoard in your app.

Please see the provided DevBoardExampleApp for Swift.

Swift Story
// init
let devBoard = DevBoard(host:"http://localhost:8888",

// set a parameter
devBoard.setParameter(atIndex:0, key:"Button Tapped",
                      value:"Green Button", color:"#00FF00",

// manually send update to server

// At this point… watch your web browser for an update :-)

// if you prefer to use auto updates, subscribe to DevBoard
var devBoardSubscriber = devBoard.sink
    devBoard in
    devBoard.setParameter(atIndex:1, key:"Date/Time", 
                          value:Date().description, color:"cyan",
Setting a Parameter
  • Index: At which index the key/value should be positioned i.e. sort order.
  • Actions: 1 = Apply blinking animation to key-value.


  • Swift 5.1.x
  • Xcode 11.x
  • Combine framework

How to Install

DevBoard has a plain & simple distibution, simply add the DevBoard.swift to your project.

  • Git: git clone
  • Carthage: In your Cartfile add github "MKGitHub/DevBoard".
  • Swift Package Manager: Needs swift-tools-version:5.1.


  • Add a lot of ready made parameters.
    • Memory (use, free, warning), Energy, Disk, Battery
    • Network/Internet info.
    • What else?
  • Add more support for theming in the viewer page.
  • Add more CSS themes.
  • Add support for playing sound actions.
  • Figure out more cool actions to implement.
  • Add a specific numerical parameter type which can be used to draw diagrams/graphs with historical values.
  • Add a specific numerical parameter type which can be used to draw a range as horizontal or cirular progress.
  • Add support for sending/displaying images.
  • Add support for displaying the navigation stack of an app with screenhots of each view controller (horizontal).
  • Add support for displaying the view hierarchy of an app with screenhots (vertical, z-index).
  • What else?

Pull Requests

Currently not accepting any random pull requests, please create an issue first where a discussion can take place.


Copyright 2019-2020 Mohsan Khan

Licensed under the Apache License, Version 2.0


  • Swift Tools 5.1.0
View More Packages from this Author


  • None
Last updated: Thu Dec 21 2023 14:43:27 GMT-1000 (Hawaii-Aleutian Standard Time)