MQTTKit 0.1.0

MQTTKit 0.1.0

TestsTested
LangLanguage CC
License Apache 2
ReleasedLast Release Dec 2014

Maintained by Unclaimed.



MQTTKit 0.1.0

  • By
  • Jeff Mesnil

MQTTKit is a modern event-driven Objective-C library for MQTT 3.1.

It uses Mosquitto 1.2.2 library.

An iOS application using MQTTKit is available at MQTTExample.

Usage

Import the MQTTKit.h header file

#import <MQTTKit.h>

Send a Message

// create the client with a unique client ID
NSString *clientID = ...
MQTTClient *client = [[MQTTClient alloc] initWithClientId:clientID];

// connect to the MQTT server
[self.client connectToHost:@"iot.eclipse.org" 
         completionHandler:^(NSUInteger code) {
    if (code == ConnectionAccepted) {
        // when the client is connected, send a MQTT message
        [self.client publishString:@"Hello, MQTT"
                           toTopic:@"/MQTTKit/example"
                           withQos:AtMostOnce
                            retain:NO
                 completionHandler:^(int mid) {
            NSLog(@"message has been delivered");
        }];
    }
}];

Subscribe to a Topic and Receive Messages

// define the handler that will be called when MQTT messages are received by the client
[self.client setMessageHandler:^(MQTTMessage *message) {
    NSString *text = [message.payloadString];
    NSLog(@"received message %@", text);
}];

// connect the MQTT client
[self.client connectToHost:@"iot.eclipse.org"
         completionHandler:^(MQTTConnectionReturnCode code) {
    if (code == ConnectionAccepted) {
        // when the client is connected, subscribe to the topic to receive message.
        [self.client subscribe:@"/MQTTKit/example"
         withCompletionHandler:nil];
    }
}];

Disconnect from the server

[self.client disconnectWithCompletionHandler:^(NSUInteger code) {
    // The client is disconnected when this completion handler is called
    NSLog(@"MQTT client is disconnected");
}];

Authors