MQTT for iOS and macOS written with Swift

Overview

CocoaMQTT

PodVersion Platforms License Swift version Coverage Status

MQTT v3.1.1 client library for iOS/macOS/tvOS written with Swift 5

Build

Build with Xcode 11.1 / Swift 5.1

Installation

CocoaPods

Install using CocoaPods by adding this line to your Podfile:

use_frameworks! # Add this if you are targeting iOS 8+ or using Swift
pod 'CocoaMQTT'  

Then, run the following command:

$ pod install

Carthage

Install using Carthage by adding the following lines to your Cartfile:

github "emqx/CocoaMQTT" "master"

Then, run the following command:

$ carthage update --platform iOS,macOS,tvOS

Last if you're building for OS X:

  • On your application targets “General” settings tab, in the "Embedded Binaries" section, drag and drop CocoaMQTT.framework from the Carthage/Build/Mac folder on disk.

If you're building for iOS, tvOS:

  • On your application targets “General” settings tab, in the "Linked Frameworks and Libraries" section, drag and drop each framework you want to use from the Carthage/Build folder on disk.

  • On your application targets "Build Phases" settings tab, click the "+" icon and choose "New Run Script Phase". Create a Run Script with the following contents:

    /usr/local/bin/carthage copy-frameworks
    
  • and add the paths to the frameworks you want to use under "Input Files", e.g.:

    $(SRCROOT)/Carthage/Build/iOS/CocoaMQTT.framework
    

Usage

Create a client to connect MQTT broker:

let clientID = "CocoaMQTT-" + String(ProcessInfo().processIdentifier)
let mqtt = CocoaMQTT(clientID: clientID, host: "localhost", port: 1883)
mqtt.username = "test"
mqtt.password = "public"
mqtt.willMessage = CocoaMQTTWill(topic: "/will", message: "dieout")
mqtt.keepAlive = 60
mqtt.delegate = self
mqtt.connect()

Now you can use closures instead of CocoaMQTTDelegate:

mqtt.didReceiveMessage = { mqtt, message, id in
	print("Message received in topic \(message.topic) with payload \(message.string!)")           
}

SSL Secure

One-way certification

No certificate is required locally. If you want to trust all untrust CA certificates, you can do this:

mqtt.allowUntrustCACertificate = true

Two-way certification

Need a .p12 file which is generated by a public key file and a private key file. You can generate the p12 file in the terminal:

openssl pkcs12 -export -clcerts -in client-cert.pem -inkey client-key.pem -out client.p12

MQTT over Websocket

In the 1.3.0, The CocoaMQTT has supported to connect to MQTT Broker by Websocket.

If you integrated by CocoaPods, you need to modify you Podfile like the followings and execute pod install again:

use_frameworks!

target 'Example' do
    pod 'CocoaMQTT/WebSockets', '1.3.0-rc.2'
end

Then, Create a MQTT instance over Websocket:

let websocket = CocoaMQTTWebSocket(uri: "/mqtt")
let mqtt = CocoaMQTT(clientID: clientID, host: host, port: 8083, socket: websocket)

// ...

_ = mqtt.connect()

If you want to add additional custom header to the connection, you can use the following:

let websocket = CocoaMQTTWebSocket(uri: "/mqtt")
websocket.headers = [
            "x-api-key": "value"
        ]
        websocket.enableSSL = true

let mqtt = CocoaMQTT(clientID: clientID, host: host, port: 8083, socket: websocket)

// ...

_ = mqtt.connect()

Example App

You can follow the Example App to learn how to use it. But we need to make the Example App works fisrt:

$ cd Examples

$ pod install

Then, open the Example.xcworkspace/ by Xcode and start it!

Dependencies

These third-party functions are used:

LICENSE

MIT License (see LICENSE)

Contributors

Author

Twitter

https://twitter.com/emqtt

Comments
  • MQTT does not connect at all, always disconnects.

    MQTT does not connect at all, always disconnects.

    I have been trying to connect mqtt to my mqtt Server using 3.1, but i am unable to do so. here is my code : i am using Cocoa MQTT for this:

    mqtt = CocoaMQTT(clientID: clientId, host: server, port: UInt16(port))
         //   mqtt.cleanSession = true
            mqtt.username = ""
            mqtt.password = password
    //        mqtt.willMessage = CocoaMQTTWill(topic: "/will", message: "dieout")
            let driverID = UtilityHelper.getUserId()
            mqtt.keepAlive = 60
            self.mqtt.delegate = self
            
           
            mqtt.connect()
    
    support 
    opened by shezu 19
  • Messages published with `retained` flag do not get delivered on subscription

    Messages published with `retained` flag do not get delivered on subscription

    Hello! I'm having an issue regarding the retained flag. Hope you can shed some light on what might be wrong.

    I suspect it to be a subscription issue (either my code, or a library bug), because when I try to send the publishing through the MQTTX app on the Mac, the result is the same with either a retained message and regular message. However when I subscribe to the topic in MQTTX with Retain handling option set to 0 it works as expected - I get the latest message right after subscribing.

    I publish like this:

    let message = CocoaMQTT5Message(
                topic: "kinzoo/connection/5448",
                payload: [UInt8](message.payload ?? Data()),
                qos: .qos1,
                retained: true
            )
    
            if self.client.publish(message, retained: true, properties: .init()) == -1 {
                Logger.log("Publish did fail \(message)")
            }
    

    And I subscribe like this:

    let subscription = MqttSubscription(topic: "kinzoo/connection/5448", qos: .qos1)
            subscription.noLocal = true
            self.client.subscribe([subscription])
    

    I thought I had done something wrong on the subscription and went over all the code to find the subscription options which are turned off by default. But I still do not get retained messages from the broker!

    I have this logging set up:

    client.didSubscribeTopics = { _, successful, failed, _ in
                Logger.log("did subscribe to \(successful.count) topics, \(failed.count) failed")
            }
            client.didReceiveMessage = { [weak self] client, message, _, _ in
                Logger.log("Did receive\(message.retained ? " retained " : " ")message \(message)")
            }
            client.didPublishMessage = { client, message, _ in
                Logger.log("Did publish\(message.retained ? " retained " : " ")message \(message) with payload \(message.payload)")
            }
    

    And I get this output when publishing:

    CocoaMQTT(debug): SEND: PUBLISH(id: 1, topic: kinzoo/connection/5448, payload: [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, ...])
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 49
    CocoaMQTT(debug): fixedHeader [48]
    CocoaMQTT(debug): remainingLen(len: len) [141, 1]
    CocoaMQTT(debug): variableHeader [0, 22, 107, 105, 110, 122, 111, 111, 47, 99, 111, 110, 110, 101, 99, 116, 105, 111, 110, 47, 53, 52, 52, 56, 0]
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, 34, 111, 110, 108, 105, 110, 101, 34, 44, 34, 101, 120, 112, 111, 115, 101, 67, 108, 105, 101, 110, 116, 83, 116, 97, 116, 117, 115, 34, 58, 116, 114, 117, 101, 44, 34, 115, 99, 104, 101, 109, 97, 86, 101, 114, 115, 105, 111, 110, 34, 58, 49, 44, 34, 100, 101, 118, 105, 99, 101, 84, 111, 107, 101, 110, 34, 58, 34, 67, 66, 48, 54, 68, 56, 69, 67, 45, 51, 68, 55, 52, 45, 52, 51, 51, 51, 45, 56, 69, 68, 69, 45, 53, 54, 53, 53, 65, 55, 52, 67, 53, 48, 53, 49, 34, 125]
    CocoaMQTT(debug): =============================================================
    2022-06-09 22:08:05.205230-0300 MyApp[40788:20628095] [CocoaMQTT] Did publish retained message CocoaMQTT5Message(topic: kinzoo/connection/5448, qos: qos1, payload: [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, ...]) with payload [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, 34, 111, 110, 108, 105, 110, 101, 34, 44, 34, 101, 120, 112, 111, 115, 101, 67, 108, 105, 101, 110, 116, 83, 116, 97, 116, 117, 115, 34, 58, 116, 114, 117, 101, 44, 34, 115, 99, 104, 101, 109, 97, 86, 101, 114, 115, 105, 111, 110, 34, 58, 49, 44, 34, 100, 101, 118, 105, 99, 101, 84, 111, 107, 101, 110, 34, 58, 34, 67, 66, 48, 54, 68, 56, 69, 67, 45, 51, 68, 55, 52, 45, 52, 51, 51, 51, 45, 56, 69, 68, 69, 45, 53, 54, 53, 53, 65, 55, 52, 67, 53, 48, 53, 49, 34, 125]
    

    And this one when subscribing:

    CocoaMQTT(debug): SEND: SUBSCRIBE(id: Optional(5), topics: kinzoo/connection/5448)  
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 130
    CocoaMQTT(debug): fixedHeader [128]
    CocoaMQTT(debug): remainingLen(len: len) [28]
    CocoaMQTT(debug): variableHeader [0, 5, 0]
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload [0, 22, 107, 105, 110, 122, 111, 111, 47, 99, 111, 110, 110, 101, 99, 116, 105, 111, 110, 47, 53, 52, 52, 56, 5]
    CocoaMQTT(debug): RECV: SUBACK(id: 5)
    2022-06-09 22:43:18.063959-0300 MyApp[596:100523] [CocoaMQTT] did subscribe to 1 topics, 0 failed
    

    It does receive publishes made when the client is connected to the broker (tested on mosquitto and paho):

    CocoaMQTT(debug): RECV: PUBLISH(id: 2, topic: , payload: [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, ...])
    CocoaMQTT(info): Received message: CocoaMQTT5Message(topic: kinzoo/connection/5448, qos: qos1, payload: [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, ...])
    2022-06-09 22:34:40.645346-0300 MyApp[585:94432] [CocoaMQTT] Did receive retained message CocoaMQTT5Message(topic: kinzoo/connection/5448, qos: qos1, payload: [123, 34, 115, 116, 97, 116, 117, 115, 34, 58, ...])
    

    Yet, after reconnecting/subscribing again, I do not get the latest retained message. I don't understand if my client is failing to send a proper retained message to the broker, of if the client is failing to deliver the existing retained messages to me when I subscribe.

    Any tips would be highly appreciated!

    Best regards, Rafael

    opened by rafaelnobrekz 16
  • no such moudle ’CocoaAsyncSocket

    no such moudle ’CocoaAsyncSocket

    follow this step $ git init Add CocoaMQTT as a git submodule by running the following command: $ git submodule add https://github.com/emqtt/CocoaMQTT.git

    CocoaPods

    Install using CocoaPods by adding this line to your Podfile:

    use_frameworks! # Add this if you are targeting iOS 8+ or using Swift pod 'CocoaMQTT'
    Then, run the following command:

    $ pod install Last, creat a CocoaMQTT-Bridging-Header.h file in your project, in which add the following line:

    import "CocoaMQTT/CocoaMQTT.h"

    xcode 7.2 // // CocoaMQTT.swift // CocoaMQTT // // Created by Feng [email protected] on 14/8/3. // Copyright (c) 2015 emqtt.io. All rights reserved. //

    import Foundation import CocoaAsyncSocket --- no such moudle ’CocoaAsyncSocket ‘

    import MSWeakTimer

    opened by lsxredrain 16
  • Does not Compile with Xcode 13

    Does not Compile with Xcode 13

    The following code

    @available(OSX 10.15, iOS 13.0, watchOS 6.0, tvOS 13.0, *)
    case closed(URLSessionWebSocketTask.CloseCode)
    

    within CocoaMQTTTypes.swift produces an error:

    Enum cases with associated values cannot be marked potentially unavailable with '@available'

    The error was reported to Apple via Feedback Assistant and Forum. However it is not fixed yet (Beta 3). It seems like it is here to stay...

    enhancement 
    opened by honkmaster 10
  • Reconnect is failing

    Reconnect is failing

    We are getting a client disconnect message immediately after the connection was successfully setup, this happens when the server is down and then comes to active

    According to the traces, while the server is down, one connection channel is keep opened on port 8883.

    When the server is restarted and it tries to reconnect (using mqttclient.connect), the connection is established and immediately the connection is closed after few milliseconds. This is also happening, when we call the disconnect message after the device notices that the server is down.

    Any ideas? Thank you for the help. I'm using CocoaMQTT 1.1.0 and iOS 11

    Update: Issue is reproducible in iOS 12

    bug 
    opened by LarryKanionga 10
  • Running the example project fails

    Running the example project fails

    I downloaded and ran the example project on an iPhone 5. But it fails with the following error.

    dyld: Library not loaded: @rpath/CocoaAsyncSocket.framework/CocoaAsyncSocket Referenced from: /private/var/containers/Bundle/Application/F1106E5F-A377-49BC-B09D-5BB5BDB4FD0D/Example.app/Frameworks/CocoaMQTT.framework/CocoaMQTT Reason: image not found

    opened by Isuru-Nanayakkara 10
  • Error decoding binary message (Not enough bits)

    Error decoding binary message (Not enough bits)

    Hello,

    when a binary with the binary content 0x78, 0x9C, 0x8D message is published to the topic test, this results in a crash in MqttDecodePublish. The error message is Swift/Integers.swift:3447: Fatal error: Not enough bits to represent the passed value

    Version 2.0.2-beta4 as I like to start supporting MQTT5

    Test Case:

    import XCTest
    import CocoaMQTT
    
    class CocoaMQTTRegressionTests: XCTestCase {
    	func testDecodeBinary789c8d() {
    		let publish = MqttDecodePublish()
    		publish.decodePublish(fixedHeader: 49, publishData:
    								[0, 4, 116, 101, 115, 116,
    								 0x78, 0x9C, 0x8D])
    	}
    }
    
    bug 
    opened by philipparndt 9
  • SSL connection with RabbitMQ

    SSL connection with RabbitMQ

    Hi all Did you ever try to connect this MQTT client to a rabbitMQ instance using SSL? I'm having a hard time doing so, maybe you have some suggestions Here's the code I'm using:

        mqttClient = CocoaMQTT(clientId: "client", host: host, port: 8883)
        mqttClient?.secureMQTT = true
        mqttClient?.username = username
        mqttClient?.password = password
        mqttClient?.keepAlive = 90
        mqttClient?.delegate = self
        mqttClient?.connect()
    

    This results in this error:

    Error Domain=GCDAsyncSocketErrorDomain Code=7 "Socket closed by remote peer" UserInfo={NSLocalizedDescription=Socket closed by remote peer}
    

    The endpoint is working correctly, other clients (written in other languages) are working fine.
    I was able to connect using ckrey/MQTT-Client-Framework, but I rather use this library instead :)

    opened by andreamazz 9
  • compatible with iOS 15.1.1?

    compatible with iOS 15.1.1?

    My application is running well so far on iOS 14.8 and iOS 15.0, but publish never gets fired when I try my application on iOS 15.1.1, nor I can receive any message from the device on iOS 15.1.1. Is there a compatibility issue with iOS 15.1.1? Thank you

    opened by lph65724 8
  • Subscription Ack is not getting Called in CocoaMQTTDelegate

    Subscription Ack is not getting Called in CocoaMQTTDelegate

    The following warning is coming from the MQTT library in subscription Ack and the delegate is not getting called. CocoaMQTT(warning): UNEXPECT SUBACK Recivied: SUBACK(id: 1)

    The following code inside the library return with wear . I have tested with many brokers but still getting the same warning and ack fails.

    guard topicsAndQos.count == suback.grantedQos.count else { printWarning("UNEXPECT SUBACK Recivied: (suback)") return }

    bug 
    opened by rajeevradhakrish 8
  • How to add CocoaMqtt Manually

    How to add CocoaMqtt Manually

    I don't have GitHub access at office. So I downloaded and I'm trying to add to my project. Have issue running on real device. And how to test connection using eclipse paho

    support 
    opened by sharihv 8
  • App freeze after connected to MQTT.

    App freeze after connected to MQTT.

    "Linked against modern SDK, VOIP socket will not wake. Use Local Push Connectivity instead." Error after connected to MQTT. The connectivity is okay but the app was freeze

    Screenshot 2022-12-24 at 11 35 39 AM help wanted 
    opened by SemRithiro 0
  • Crash on CocoaMQTT

    Crash on CocoaMQTT

    Hi, I'm using CocoaMQTT inside a framework And sometimes It's crashed in the payloadReady() method I don't know how to reproduce the crash, but I think when data is [0, 0, 0]

    Screenshot 2022-12-05 at 22 25 09

    This is my configuration MQTT code: Screenshot 2022-12-07 at 13 09 54

    help wanted 
    opened by anhtran2020 0
  • Connection issues after network being lost and restored

    Connection issues after network being lost and restored

    Hi, I have connection issues in case of very bad network connection or even when its being lost and then restored. I did this simulation on iOS using Settings-> Developer -> Network Link Conditioner and switching between different network profiles. Also it is happening in real life when network is unstable. So code is

    mqttClient = CocoaMQTT5(clientID: clientID, host: host, port: 8883)
    mqttClient?.username = "username"
    mqttClient?.password = "pass"
    mqttClient?.autoReconnect = true
    mqttClient?.enableSSL = true
    mqttClient?.keepAlive = 5
    mqttClient?.deliverTimeout = 5
    mqttClient?.delegate = self
    mqttClient?.logLevel = .debug
    
    ------Connected here ------
    
    CocoaMQTT(debug): ping
    CocoaMQTT(debug): SEND: PING
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 192
    CocoaMQTT(debug): fixedHeader [192]
    CocoaMQTT(debug): remainingLen(len: len) [0]
    CocoaMQTT(debug): variableHeader []
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload []
    CocoaMQTT(debug): =============================================================
    CocoaMQTT(debug): socket wrote data -192
    CocoaMQTT(debug): RECV: PONG
    pong
    
    ------Disabled network here ------
    
    CocoaMQTT(debug): ping
    CocoaMQTT(debug): SEND: PING
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 192
    CocoaMQTT(debug): fixedHeader [192]
    CocoaMQTT(debug): remainingLen(len: len) [0]
    CocoaMQTT(debug): variableHeader []
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload []
    CocoaMQTT(debug): =============================================================
    CocoaMQTT(debug): socket wrote data -192
    CocoaMQTT(debug): ping
    CocoaMQTT(debug): SEND: PING
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 192
    CocoaMQTT(debug): fixedHeader [192]
    CocoaMQTT(debug): remainingLen(len: len) [0]
    CocoaMQTT(debug): variableHeader []
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload []
    CocoaMQTT(debug): =============================================================
    CocoaMQTT(debug): socket wrote data -192
    CocoaMQTT(debug): ping
    CocoaMQTT(debug): SEND: PING
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 192
    CocoaMQTT(debug): fixedHeader [192]
    CocoaMQTT(debug): remainingLen(len: len) [0]
    CocoaMQTT(debug): variableHeader []
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload []
    CocoaMQTT(debug): =============================================================
    CocoaMQTT(debug): socket wrote data -192
    CocoaMQTT(debug): ping
    CocoaMQTT(debug): SEND: PING
    CocoaMQTT(debug): ==========================MQTT 5.0==========================
    CocoaMQTT(debug): packetFixedHeaderType 192
    CocoaMQTT(debug): fixedHeader [192]
    CocoaMQTT(debug): remainingLen(len: len) [0]
    CocoaMQTT(debug): variableHeader []
    CocoaMQTT(debug): properties []
    CocoaMQTT(debug): payload []
    CocoaMQTT(debug): =============================================================
    CocoaMQTT(debug): socket wrote data -192
    
    ------Enabled network here ------
    
    2022-12-02 10:09:00.777534+0000 App[67721:4873012] [connection] nw_socket_handle_socket_event [C5:1] Socket SO_ERROR [54: Connection reset by peer]
    CocoaMQTT(debug): socket disconnected
    disconnect
    

    It's never reconnect again

    opened by vadym-kozak 1
  • Why is delegateQueue run on main thread?

    Why is delegateQueue run on main thread?

    Hi!! I have a issue about application performance when using CocoaMQTT5. My app receives message once every second (maybe less time). Even if i don't process anything when i receive the message, when i scroll tableview, my tableview lags I have checked source code and i see delegateQueue is running on main thread. Maybe that's why My UI is stuck on some where. i have re-set backgroundOnSocket running in background thread. So, what's the problem if i put backgroundOnSocket running on background thread ? (Of course I will put UI update tasks on the main thread)

    CocoaMQTT5 default: image

    I set: image

    Thank you so much

    help wanted 
    opened by developer-bk 1
  • How to connect to Broker with TCP/TLS with port 8883?

    How to connect to Broker with TCP/TLS with port 8883?

    Hi team.

    Currently, I setup MQTT connection like this:

    let mqtt5 = CocoaMQTT5(clientID: "some_clientID", host: "54.179.31.220", port: 8883)
    mqtt5.username = userName mqtt5.password = password mqtt5.allowUntrustCACertificate = true mqtt5.enableSSL = true mqtt5.connect()

    but i always get this error: "Socket closed by remote peer". Did i miss something?

    Thank you and Best Regard

    opened by lygialiem 2
Releases(2.0.8)
Owner
EMQ X MQTT Broker
An Open-Source, Cloud-Native, distributed MQTT Message Broker for Large-scale IoT Applications.
EMQ X MQTT Broker
Messenger Clone - Real-time iOS Chat with Firebase Firestore written in Swift

Real time Swift iOS Chat with Firebase - Messenger Clone This is an extremely simple chat app source code of an iOS Swift Chat app. It leverages Messa

Instamobile 621 Jan 6, 2023
A SlackTextViewController replacement written in Swift for the iPhone X.

Installation Just add MessageViewController to your Podfile and install. Done! pod 'MessageViewController' Setup You must subclass MessageViewControll

GitHawk 1.7k Jan 4, 2023
A fully fledged syscfg editor. Just the editor. Written in pure swift.

MagicCFG Reloaded The SysCFG Writing Utility - UPDATED, OSV Report Bug Table of Contents About MagicCFG Reloaded Getting Started Roadmap Contact Credi

Jan Fabel 47 Dec 31, 2022
Meerkat is a messaging app written using SwiftUI.

Meerkat - A Messaging App Purpose I studied to learn SwiftUI dynamics, understand the syntax, and learn how to integrate third party libraries. The ap

fischerweise 2 Jun 22, 2022
Swift toolkit for passing messages between iOS apps and extensions.

_________ ___ ___ _ _____ _________ ___ ___ / / \ \ / / |_| ( ___ \ \__ __/ \ \ / / / _____/ \ \ /\ /

Abdullah Selek 58 Nov 3, 2022
An XMPP Framework in Objective-C for Mac and iOS

XMPPFramework An XMPP Framework in Objective-C for the Mac and iOS development community. Abstract XMPPFramework provides a core implementation of RFC

Robbie Hanson 5.9k Dec 26, 2022
A smooth, responsive and flexible messages UI library for iOS.

AsyncMessagesViewController A smooth, responsive and flexible messages UI library for iOS apps. Built on top of the awesome Texture (formerly AsyncDis

Huy Nguyen 300 Oct 10, 2022
Scholarly Article Search, Discussion Forum and Discussion Board

DiscussIt An app to throughly explore vast database of scholarly article, choosing one to experiment with, discuss with your friends An Open Source Ap

Ethan 6 Jun 27, 2022
Open source, native iOS Messenger, with realtime chat conversations (full offline support).

OVERVIEW This is a native iOS Messenger app, with realtime chat conversations (full offline support). NEW FEATURES Passcode support GraphQL server sup

Related Code 4.5k Jan 9, 2023
Chat SDK iOS - Open Source Mobile Messenger

Chat SDK Open Source Messaging framework for iOS Chat SDK is a fully featured open source instant messaging framework for iOS. Chat SDK is fully featu

Chat SDK 879 Jan 6, 2023
Phantom Anonymous Messenger for iOS

?? Phantom for iOS This repository contains the complete source code of Phantom for iOS. Table of Contens ?? Report Bugs/Feature Requests/Security Iss

null 2 Mar 14, 2022
A lightweight framework to build chat applications, made in Swift

Chatto Chatto is a Swift lightweight framework to build chat applications. It's been designed to be extensible and performant. Along with Chatto there

Badoo Tech 4.4k Dec 19, 2022
Swift SDK for Apache Kafka

SwiftKafka A swift implementation of Kafka for producing and consuming from event streams. This works by wrapping the librdkafka C library. Swift vers

Kitura 54 Dec 21, 2022
MQTT for iOS and macOS written with Swift

CocoaMQTT MQTT v3.1.1 client library for iOS/macOS/tvOS written with Swift 5 Build Build with Xcode 11.1 / Swift 5.1 Installation CocoaPods Install us

EMQ X MQTT Broker 1.4k Jan 1, 2023
MQTTNIO - Non-blocking, event-driven Swift client for MQTT build on SwiftNIO

This library has support for WebSocket connections and TLS. It runs on all platforms Swift NIO runs on (e.g. macOS, iOS, Linux, etc.).

Steven Roebert 41 Dec 23, 2022
A testing MQTT react native library

react-native-awesome-testing abc Installation npm install react-native-awesome-testing Usage import { multiply } from "react-native-awesome-testing";

null 0 Nov 26, 2021
macOS application written in SwiftUI that downloads installer pkgs for the Install macOS Big Sur application.

Download Full Installer This is a Swift UI implementation of my fetch-installer-pkg script. It will list the full macOS Big Sur (and later) installer

Armin Briegel 654 Dec 31, 2022
AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

AuroraEditor AuroraEditor is a IDE built by the community, for the community, and written in Swift for the best native performance and feel for macOS.

Aurora Editor 704 Jan 8, 2023
Cachyr A typesafe key-value data cache for iOS, macOS, tvOS and watchOS written in Swift.

Cachyr A typesafe key-value data cache for iOS, macOS, tvOS and watchOS written in Swift. There already exists plenty of cache solutions, so why creat

Norsk rikskringkasting (NRK) 124 Nov 24, 2022
SwiftMoment - A time and calendar manipulation library for iOS 9+, macOS 10.11+, tvOS 9+, watchOS 2+ written in Swift 4.

SwiftMoment This framework is inspired by Moment.js. Its objectives are the following: Simplify the manipulation and readability of date and interval

Adrian Kosmaczewski 1.6k Dec 31, 2022