Merge branch 'development'

* development:
  fix sid bug
  Fix socketio/socket.io-client-swift#472
This commit is contained in:
Erik 2016-08-29 05:10:58 -04:00
commit e8c3e22dc6
No known key found for this signature in database
GPG Key ID: 4930B7C5FBC1A69D
3 changed files with 24 additions and 25 deletions

View File

@ -1,7 +1,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = "Socket.IO-Client-Swift" s.name = "Socket.IO-Client-Swift"
s.module_name = "SocketIOClientSwift" s.module_name = "SocketIOClientSwift"
s.version = "7.0.1" s.version = "7.0.2"
s.summary = "Socket.IO-client for iOS and OS X" s.summary = "Socket.IO-client for iOS and OS X"
s.description = <<-DESC s.description = <<-DESC
Socket.IO-client for iOS and OS X. Socket.IO-client for iOS and OS X.
@ -14,7 +14,7 @@ Pod::Spec.new do |s|
s.ios.deployment_target = '8.0' s.ios.deployment_target = '8.0'
s.osx.deployment_target = '10.10' s.osx.deployment_target = '10.10'
s.tvos.deployment_target = '9.0' s.tvos.deployment_target = '9.0'
s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v7.0.1' } s.source = { :git => "https://github.com/socketio/socket.io-client-swift.git", :tag => 'v7.0.2' }
s.source_files = "Source/**/*.swift" s.source_files = "Source/**/*.swift"
s.requires_arc = true s.requires_arc = true
# s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files # s.dependency 'Starscream', '~> 0.9' # currently this repo includes Starscream swift files

View File

@ -359,7 +359,7 @@ public final class SocketEngine : NSObject, NSURLSessionDelegate, SocketEnginePo
private func handleOpen(openData: String) { private func handleOpen(openData: String) {
do { do {
let json = try openData.toNSDictionary() let json = try openData.toNSDictionary()
guard let sid = json[sid] as? String else { guard let sid = json["sid"] as? String else {
client?.engineDidError("Open packet contained no sid") client?.engineDidError("Open packet contained no sid")
return return
} }

View File

@ -67,7 +67,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
return nsp + "#" + (engine?.sid ?? "") return nsp + "#" + (engine?.sid ?? "")
} }
/// Type safe way to create a new SocketIOClient. opts can be omitted /// Type safe way to create a new SocketIOClient. config can be omitted
public init(socketURL: NSURL, config: SocketIOClientConfiguration = []) { public init(socketURL: NSURL, config: SocketIOClientConfiguration = []) {
self.config = config self.config = config
self.socketURL = socketURL self.socketURL = socketURL
@ -150,12 +150,12 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC)) let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeoutAfter) * Int64(NSEC_PER_SEC))
dispatch_after(time, handleQueue) {[weak self] in dispatch_after(time, handleQueue) {[weak self] in
if let this = self where this.status != .Connected && this.status != .Disconnected { guard let this = self where this.status != .Connected && this.status != .Disconnected else { return }
this.status = .Disconnected
this.engine?.disconnect("Connect timeout")
handler?() this.status = .Disconnected
} this.engine?.disconnect("Connect timeout")
handler?()
} }
} }
@ -163,20 +163,20 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
currentAck += 1 currentAck += 1
return {[weak self, ack = currentAck] timeout, callback in return {[weak self, ack = currentAck] timeout, callback in
if let this = self { guard let this = self else { return }
dispatch_sync(this.ackQueue) {
this.ackHandlers.addAck(ack, callback: callback) dispatch_sync(this.ackQueue) {
} this.ackHandlers.addAck(ack, callback: callback)
}
this._emit(items, ack: ack) this._emit(items, ack: ack)
if timeout != 0 { if timeout != 0 {
let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeout * NSEC_PER_SEC)) let time = dispatch_time(DISPATCH_TIME_NOW, Int64(timeout * NSEC_PER_SEC))
dispatch_after(time, this.ackQueue) { dispatch_after(time, this.ackQueue) {
this.ackHandlers.timeoutAck(ack, onQueue: this.handleQueue) this.ackHandlers.timeoutAck(ack, onQueue: this.handleQueue)
}
} }
} }
} }
@ -196,6 +196,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason) DefaultSocketLogger.Logger.log("Disconnected: %@", type: logType, args: reason)
reconnecting = false
status = .Disconnected status = .Disconnected
// Make sure the engine is actually dead. // Make sure the engine is actually dead.
@ -205,8 +206,6 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable
/// Disconnects the socket. /// Disconnects the socket.
public func disconnect() { public func disconnect() {
assert(status != .NotConnected, "Tried closing a NotConnected client")
DefaultSocketLogger.Logger.log("Closing socket", type: logType) DefaultSocketLogger.Logger.log("Closing socket", type: logType)
didDisconnect("Disconnect") didDisconnect("Disconnect")