MQTT Objective-C client for iOS
C Objective-C Ruby
Clone or download
#6 Compare This branch is 4 commits behind mobile-web-messaging:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
MQTTKit.xcodeproj
MQTTKit Serious bug in MQTTKit.m Sep 12, 2014
MQTTKitTests
libmosquitto
.gitignore add libmosquitto 1.2.2 Oct 25, 2013
.travis.yml
.xctool-args
LICENSE
MQTTKit.podspec add deployment target 6.0 May 15, 2014
README.md

README.md

MQTTKit

Build Status

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

It uses Mosquitto 1.2.3 library.

An iOS application using MQTTKit is available at MQTTExample.

Installation Using CocoaPods

On your Podfile add this project:

...
pod 'MQTTKit', :git => 'https://github.com/mobile-web-messaging/MQTTKit.git'
...

For the first time, run pod install, if you are updating the project invoke pod update.

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