Skip to content

Commit 2919d4a

Browse files
committed
Merge pull request #330 from socketio/development
Development
2 parents 5976ef1 + a53b716 commit 2919d4a

File tree

7 files changed

+76
-100
lines changed

7 files changed

+76
-100
lines changed

README.md

Lines changed: 6 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,9 @@ SocketIOClient* socket = [[SocketIOClient alloc] initWithSocketURL:url options:@
5555
- Can be used from Objective-C
5656
5757
##Installation
58-
Requires Swift 2/Xcode 7
58+
Requires Swift 2.2/Xcode 7.3
59+
60+
If you need Swift 2.1/Xcode 7.2 use v5.5.0 (Pre-Swift 2.2 support is no longer maintained)
5961
6062
If you need Swift 1.2/Xcode 6.3/4 use v2.4.5 (Pre-Swift 2 support is no longer maintained)
6163
@@ -86,7 +88,7 @@ Carthage
8688
-----------------
8789
Add this line to your `Cartfile`:
8890
```
89-
github "socketio/socket.io-client-swift" ~> 5.5.0 # Or latest version
91+
github "socketio/socket.io-client-swift" ~> 6.0.0 # Or latest version
9092
```
9193

9294
Run `carthage update --platform ios,macosx`.
@@ -100,7 +102,7 @@ source 'https://github.com/CocoaPods/Specs.git'
100102
platform :ios, '8.0'
101103
use_frameworks!
102104

103-
pod 'Socket.IO-Client-Swift', '~> 5.5.0' # Or latest version
105+
pod 'Socket.IO-Client-Swift', '~> 6.0.0' # Or latest version
104106
```
105107

106108
Install pods:
@@ -128,7 +130,7 @@ CocoaSeeds
128130
Add this line to your `Seedfile`:
129131

130132
```
131-
github "socketio/socket.io-client-swift", "v5.5.0", :files => "Source/*.swift" # Or latest version
133+
github "socketio/socket.io-client-swift", "v6.0.0", :files => "Source/*.swift" # Or latest version
132134
```
133135

134136
Run `seed install`.

Socket.IO-Client-Swift.podspec

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
Pod::Spec.new do |s|
22
s.name = "Socket.IO-Client-Swift"
33
s.module_name = "SocketIOClientSwift"
4-
s.version = "5.5.0"
4+
s.version = "6.0.0"
55
s.summary = "Socket.IO-client for iOS and OS X"
66
s.description = <<-DESC
77
Socket.IO-client for iOS and OS X.
@@ -14,7 +14,7 @@ Pod::Spec.new do |s|
1414
s.ios.deployment_target = '8.0'
1515
s.osx.deployment_target = '10.10'
1616
s.tvos.deployment_target = '9.0'
17-
s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v5.5.0' }
17+
s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v6.0.0' }
1818
s.source_files = "Source/**/*.swift"
1919
s.requires_arc = true
2020
# s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files

SocketIO-MacTests/SocketParserTest.swift

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -113,7 +113,7 @@ class SocketParserTest: XCTestCase {
113113
func validateParseResult(message: String) {
114114
let validValues = SocketParserTest.packetTypes[message]!
115115
let packet = testSocket.parseString(message)
116-
let type = message.substringWithRange(Range<String.Index>(start: message.startIndex, end: message.startIndex.advancedBy(1)))
116+
let type = message.substringWithRange(Range<String.Index>(message.startIndex..<message.startIndex.advancedBy(1)))
117117
if case let .Right(packet) = packet {
118118
XCTAssertEqual(packet.type, SocketPacket.PacketType(rawValue: Int(type) ?? -1)!)
119119
XCTAssertEqual(packet.nsp, validValues.0)

Source/SocketEngine.swift

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -303,6 +303,10 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb
303303

304304
DefaultSocketLogger.Logger.log("Engine is being closed.", type: logType)
305305

306+
if closed {
307+
return postSendClose(nil, nil, nil)
308+
}
309+
306310
if websocket {
307311
sendWebSocketMessage("", withType: .Close, withData: [])
308312
postSendClose(nil, nil, nil)
@@ -502,7 +506,7 @@ public final class SocketEngine: NSObject, SocketEnginePollable, SocketEngineWeb
502506

503507
dispatch_async(dispatch_get_main_queue()) {
504508
self.pingTimer = NSTimer.scheduledTimerWithTimeInterval(pingInterval, target: self,
505-
selector: Selector("sendPing"), userInfo: nil, repeats: true)
509+
selector: #selector(SocketEngine.sendPing), userInfo: nil, repeats: true)
506510
}
507511
}
508512
}

Source/SocketEnginePollable.swift

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -100,19 +100,19 @@ extension SocketEnginePollable {
100100
}
101101

102102
func doRequest(req: NSURLRequest, withCallback callback: (NSData?, NSURLResponse?, NSError?) -> Void) {
103-
if !polling || closed || invalidated {
104-
DefaultSocketLogger.Logger.error("Tried to do polling request when not supposed to", type: "SocketEnginePolling")
105-
return
106-
}
107-
108-
DefaultSocketLogger.Logger.log("Doing polling request", type: "SocketEnginePolling")
109-
110-
session?.dataTaskWithRequest(req, completionHandler: callback).resume()
103+
if !polling || closed || invalidated || fastUpgrade {
104+
DefaultSocketLogger.Logger.error("Tried to do polling request when not supposed to", type: "SocketEnginePolling")
105+
return
106+
}
107+
108+
DefaultSocketLogger.Logger.log("Doing polling request", type: "SocketEnginePolling")
109+
110+
session?.dataTaskWithRequest(req, completionHandler: callback).resume()
111111
}
112112

113113
func doLongPoll(req: NSURLRequest) {
114114
doRequest(req) {[weak self] data, res, err in
115-
guard let this = self else { return }
115+
guard let this = self where this.polling else { return }
116116

117117
if err != nil || data == nil {
118118
DefaultSocketLogger.Logger.error(err?.localizedDescription ?? "Error", type: "SocketEnginePolling")
@@ -123,7 +123,7 @@ extension SocketEnginePollable {
123123

124124
return
125125
}
126-
126+
127127
DefaultSocketLogger.Logger.log("Got polling response", type: "SocketEnginePolling")
128128

129129
if let str = String(data: data!, encoding: NSUTF8StringEncoding) {

0 commit comments

Comments
 (0)