Build Status Codecov branch Platform support CocoaPods Compatible Carthage Compatible

Swift Version Swift Version Swift Version License Join the chat at


Suas Monitor Middleware

Suas Monitor Middleware is a Middleware implementation for Suas that adds state visiualization to applications. When using MonitorMiddleware your application state will be displayed in Suas Monitor desktop app. (Check this video for a demo)

What is Suas

Suas is a unidirectional data flow architecture implementation for iOS/macOS/tvOS/watchOS and Android heavily inspired by Redux. It provides an easy-to-use library that helps to create applications that are consistent, deterministic, and scalable.

Suas focuses on providing good developer experience and tooling such as customizable logging and state changes monitoring.

Join our gitter chat channel for any questions. Or check Suas documentatation website.

Using Suas Monitor Middleware

First make sure you install Suas MonitorMiddleware framework and Suas Monitor desktop app.

To use MonitorMiddleware in your application add MonitorMiddleware when creating your Suas store.

import Suas
import SuasMonitorMiddleware

// Create a store with a combined reducer and list of middleware
let store = Suas.createStore(
  reducer: ....,
  // Pass the MonitorMiddleware
  middleware: MonitorMiddleware()

Next, you need to make sure that your types can be converted to JSON; Your states and actions have to implement the SuasEncodable protocol.

We go in-depth on how to use the MonitorMiddleware in our website. Head to Using Suas Monitor and the Monitor Middleware to read more.


Suas Monitor Middleware can be installed with Carthage or CocoaPods. You also need the Suas Monitor desktop app, head to Suas Monitor GitHub page for steps on how to install it.

Installing with Carthage

Open your Cartfile and append the following:

github "zendesk/suas-ios-monitor-middleware"

And then build it with carthage update --platform ...

Installing with CocoaPod

Add pod 'SuasMonitorMiddleware' to your Podfile.


source ''
platform :ios, '8.0'

pod 'SuasMonitorMiddleware'

Then run pod install

Where to go next

To get more information about Suas:


We love any sort of contribution. From changing the internals of how Suas works, changing Suas methods and public API, changing readmes and documentation topics.

Feel free to suggest changes on the GitHub repos or directly in Suas gitter channel.

For reference check our contributing guidelines.

Contact us

Join our gitter channel to talk to other Suas developers.

For any question, suggestion, or just to say hi, you can find the core team on twitter:

Suas future

To help craft Suas future releases, join us on gitter channel.

Copyright and license

Copyright 2017 Zendesk, Inc.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.