A Swift wrapper for the Mosquitto library providing a full-featured MQTT client for iOS applications.
Moscapsule is an MQTT client framework for iOS, written in Swift. It wraps the Mosquitto C library to provide a full-featured, easy-to-use API for implementing MQTT-based messaging in iOS applications. It solves the problem of integrating the lightweight MQTT protocol into Swift projects without dealing with low-level C code.
iOS developers building applications that require MQTT communication, such as IoT devices, real-time messaging systems, or home automation apps.
Developers choose Moscapsule because it offers a native Swift interface to the battle-tested Mosquitto library, covering almost all its features while providing modern Swift conveniences like callbacks and type safety.
MQTT Client for iOS written in Swift
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Implements almost all features of Mosquitto 1.4.8, providing comprehensive MQTT functionality like QoS levels, retain flags, and event callbacks, as detailed in the README.
Includes TLS/SSL support with server/client certificates and TLS_PSK, enabling secure connections for IoT applications, with sample code provided for certificate handling.
Offers callbacks for connect, disconnect, publish, message reception, subscribe, and unsubscribe events, simplifying asynchronous operations in Swift.
Allows immediate or delayed connections, reconnection, and manual disconnection, giving developers fine-grained control over MQTT sessions.
Manual installation requires managing OpenSSL submodules and intricate Xcode configurations, which can be error-prone compared to CocoaPods.
Based on Mosquitto version 1.4.8, which may lack support for newer MQTT features like MQTT 5.0 and could have unpatched security issues.
Sections like 'Connection Options' are marked 'T.B.D.' in the README, indicating gaps that could hinder advanced configuration and troubleshooting.
Wraps a C library, which might introduce bridging complexity, platform-specific issues, and reduce the idiomatic Swift experience.