From 9209dc7cc9ddc45bc46dafd7e517dd166121f143 Mon Sep 17 00:00:00 2001 From: Elton Livera Date: Thu, 14 Apr 2016 21:12:40 +0100 Subject: [PATCH 1/3] Carthage enabled by sharing the scheme --- .../xcschemes/MQTTFramework.xcscheme | 99 +++++++++++++++++++ 1 file changed, 99 insertions(+) create mode 100644 MQTTClient/MQTTClient.xcodeproj/xcshareddata/xcschemes/MQTTFramework.xcscheme diff --git a/MQTTClient/MQTTClient.xcodeproj/xcshareddata/xcschemes/MQTTFramework.xcscheme b/MQTTClient/MQTTClient.xcodeproj/xcshareddata/xcschemes/MQTTFramework.xcscheme new file mode 100644 index 00000000..e9d981c0 --- /dev/null +++ b/MQTTClient/MQTTClient.xcodeproj/xcshareddata/xcschemes/MQTTFramework.xcscheme @@ -0,0 +1,99 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + From dda9db931c54c6185f8dd4cff814c5468d730bef Mon Sep 17 00:00:00 2001 From: Elton Livera Date: Thu, 14 Apr 2016 21:22:39 +0100 Subject: [PATCH 2/3] Update README.md added Carthage compatible badge --- README.md | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 4bb84afc..06043aeb 100644 --- a/README.md +++ b/README.md @@ -1,6 +1,8 @@ -MQTT-Client-Framework +MQTT-Client-Framework ===================== +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) + an Objective-C native MQTT Framework http://mqtt.org ### Tested with From 2a60fb91deb807b49bfbe0f3730d840ba7f8662c Mon Sep 17 00:00:00 2001 From: Felix Lamouroux Date: Wed, 27 Apr 2016 17:30:39 +0200 Subject: [PATCH 3/3] Fixes an issue where calling open twice on MQTTCFSocketTransport crashes This was due to unclosed encoders and decoders --- MQTTClient/MQTTClient/MQTTCFSocketDecoder.m | 4 ++++ MQTTClient/MQTTClient/MQTTCFSocketEncoder.m | 4 ++++ MQTTClient/MQTTClient/MQTTCFSocketTransport.m | 2 ++ MQTTClient/MQTTClient/MQTTDecoder.m | 4 ++++ 4 files changed, 14 insertions(+) diff --git a/MQTTClient/MQTTClient/MQTTCFSocketDecoder.m b/MQTTClient/MQTTClient/MQTTCFSocketDecoder.m index 1ba2d6ca..9205db28 100644 --- a/MQTTClient/MQTTClient/MQTTCFSocketDecoder.m +++ b/MQTTClient/MQTTClient/MQTTCFSocketDecoder.m @@ -33,6 +33,10 @@ - (void)open { } } +- (void)dealloc { + [self close]; +} + - (void)close { [self.stream close]; [self.stream removeFromRunLoop:self.runLoop forMode:self.runLoopMode]; diff --git a/MQTTClient/MQTTClient/MQTTCFSocketEncoder.m b/MQTTClient/MQTTClient/MQTTCFSocketEncoder.m index 8394f6a1..021be2b8 100644 --- a/MQTTClient/MQTTClient/MQTTCFSocketEncoder.m +++ b/MQTTClient/MQTTClient/MQTTCFSocketEncoder.m @@ -28,6 +28,10 @@ - (instancetype)init { return self; } +- (void)dealloc { + [self close]; +} + - (void)open { [self.stream setDelegate:self]; [self.stream scheduleInRunLoop:self.runLoop forMode:self.runLoopMode]; diff --git a/MQTTClient/MQTTClient/MQTTCFSocketTransport.m b/MQTTClient/MQTTClient/MQTTCFSocketTransport.m index 8d233313..4c63f34c 100644 --- a/MQTTClient/MQTTClient/MQTTCFSocketTransport.m +++ b/MQTTClient/MQTTClient/MQTTCFSocketTransport.m @@ -68,6 +68,7 @@ - (void)open { } if(!connectError){ + self.encoder.delegate = nil; self.encoder = [[MQTTCFSocketEncoder alloc] init]; self.encoder.stream = CFBridgingRelease(writeStream); self.encoder.runLoop = self.runLoop; @@ -75,6 +76,7 @@ - (void)open { self.encoder.delegate = self; [self.encoder open]; + self.decoder.delegate = nil; self.decoder = [[MQTTCFSocketDecoder alloc] init]; self.decoder.stream = CFBridgingRelease(readStream); self.decoder.runLoop = self.runLoop; diff --git a/MQTTClient/MQTTClient/MQTTDecoder.m b/MQTTClient/MQTTClient/MQTTDecoder.m index 7fea39cf..6bf293ac 100644 --- a/MQTTClient/MQTTClient/MQTTDecoder.m +++ b/MQTTClient/MQTTClient/MQTTDecoder.m @@ -24,6 +24,10 @@ - (instancetype)init { return self; } +- (void)dealloc { + [self close]; +} + - (void)decodeMessage:(NSData *)data { NSInputStream *stream = [NSInputStream inputStreamWithData:data]; [self openStream:stream];