diff --git a/Cartfile b/Cartfile index 2ef3a0d..42b9780 100644 --- a/Cartfile +++ b/Cartfile @@ -1 +1 @@ -github "daltoniam/Starscream" ~> 2.0 \ No newline at end of file +github "daltoniam/Starscream" ~> 3.0.2 diff --git a/Cartfile.resolved b/Cartfile.resolved index be023fb..8dff7a8 100644 --- a/Cartfile.resolved +++ b/Cartfile.resolved @@ -1 +1,3 @@ -github "daltoniam/Starscream" "2.1.1" +github "daltoniam/common-crypto-spm" "1.1.0" +github "daltoniam/zlib-spm" "1.1.0" +github "daltoniam/Starscream" "3.0.2" diff --git a/Package.resolved b/Package.resolved index e2fb1ed..2893ff4 100644 --- a/Package.resolved +++ b/Package.resolved @@ -24,8 +24,8 @@ "repositoryURL": "https://github.com/daltoniam/Starscream", "state": { "branch": null, - "revision": "21678c9426dde2a77152a0d5982cdb952baf0455", - "version": "2.1.1" + "revision": "44ce58956fae7db22fb0106cb4ce3dbef3d06d00", + "version": "3.0.2" } } ] diff --git a/Package.swift b/Package.swift index 7022dfa..7c27169 100644 --- a/Package.swift +++ b/Package.swift @@ -8,7 +8,7 @@ let package = Package( .library(name: "SocketIO", targets: ["SocketIO"]) ], dependencies: [ - .package(url: "https://github.com/daltoniam/Starscream", .upToNextMajor(from: "2.1.1")), + .package(url: "https://github.com/daltoniam/Starscream", .upToNextMajor(from: "3.0.2")), ], targets: [ .target(name: "SocketIO", dependencies: ["Starscream"]), diff --git a/Socket.IO-Client-Swift.podspec b/Socket.IO-Client-Swift.podspec index 632c10f..8cbea86 100644 --- a/Socket.IO-Client-Swift.podspec +++ b/Socket.IO-Client-Swift.podspec @@ -24,5 +24,5 @@ Pod::Spec.new do |s| 'SWIFT_VERSION' => '4.0' } s.source_files = "Source/SocketIO/**/*.swift", "Source/SocketIO/*.swift" - s.dependency "Starscream", "~> 2.1.1" + s.dependency "Starscream", "~> 3.0.2" end diff --git a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj index d088ecf..1bc6ca1 100644 --- a/Socket.IO-Client-Swift.xcodeproj/project.pbxproj +++ b/Socket.IO-Client-Swift.xcodeproj/project.pbxproj @@ -177,6 +177,8 @@ 6CA08A951D615C040061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS9.3.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; 6CA08A971D615C0B0061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = System/Library/Frameworks/Security.framework; sourceTree = SDKROOT; }; 6CA08A991D615C140061FD2A /* Security.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Security.framework; path = Platforms/AppleTVOS.platform/Developer/SDKs/AppleTVOS9.2.sdk/System/Library/Frameworks/Security.framework; sourceTree = DEVELOPER_DIR; }; + 742EAA351F8925F0006D5900 /* SocketIO.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = SocketIO.h; sourceTree = ""; }; + 742EAA361F8925F0006D5900 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; 749FA19F1F8112E7002FBB30 /* Starscream.framework.dSYM */ = {isa = PBXFileReference; lastKnownFileType = wrapper.dsym; name = Starscream.framework.dSYM; path = Carthage/Build/Mac/Starscream.framework.dSYM; sourceTree = ""; }; 749FA1A11F811408002FBB30 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = System/Library/Frameworks/Foundation.framework; sourceTree = SDKROOT; }; 74D0F58D1F804FED0037C4DC /* libz.tbd */ = {isa = PBXFileReference; lastKnownFileType = "sourcecode.text-based-dylib-definition"; name = libz.tbd; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.0.sdk/usr/lib/libz.tbd; sourceTree = DEVELOPER_DIR; }; @@ -297,6 +299,7 @@ children = ( 1C686BD11F869AF1007D8627 /* TestSocketIO */, 1C686BFD1F869E9D007D8627 /* TestSocketIOObjc */, + 742EAA341F8925F0006D5900 /* SocketIO */, 6CA08A9B1D615C190061FD2A /* Frameworks */, 572EF21A1B51F16C00EEBB58 /* Products */, 572EF21B1B51F16C00EEBB58 /* SocketIO-iOS */, @@ -406,6 +409,15 @@ name = tvOS; sourceTree = ""; }; + 742EAA341F8925F0006D5900 /* SocketIO */ = { + isa = PBXGroup; + children = ( + 742EAA351F8925F0006D5900 /* SocketIO.h */, + 742EAA361F8925F0006D5900 /* Info.plist */, + ); + path = SocketIO; + sourceTree = ""; + }; DD52B1D10D761CEF3944A6BC /* Util */ = { isa = PBXGroup; children = ( @@ -1106,6 +1118,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_DYNAMIC_NO_PIC = NO; @@ -1160,6 +1173,7 @@ FRAMEWORK_SEARCH_PATHS = ( "$(SDKROOT)/Developer/Library/Frameworks", "$(inherited)", + "$(PROJECT_DIR)/Carthage/Build/iOS", ); GCC_C_LANGUAGE_STANDARD = gnu99; GCC_NO_COMMON_BLOCKS = YES; diff --git a/Source/SocketIO/Engine/SocketEngine.swift b/Source/SocketIO/Engine/SocketEngine.swift index 64bf370..c5ba48d 100644 --- a/Source/SocketIO/Engine/SocketEngine.swift +++ b/Source/SocketIO/Engine/SocketEngine.swift @@ -310,22 +310,22 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll private func createWebSocketAndConnect() { ws?.delegate = nil // TODO this seems a bit defensive, is this really needed? - ws = WebSocket(url: urlWebSocketWithSid) + var req = URLRequest(url: urlWebSocketWithSid) if cookies != nil { let headers = HTTPCookie.requestHeaderFields(with: cookies!) - for (key, value) in headers { - ws?.headers[key] = value + for (headerName, value) in headers { + req.setValue(value, forHTTPHeaderField: headerName) } } if extraHeaders != nil { for (headerName, value) in extraHeaders! { - ws?.headers[headerName] = value + req.setValue(value, forHTTPHeaderField: headerName) } } - + ws = WebSocket(request: req) ws?.callbackQueue = engineQueue ws?.enableCompression = compress ws?.delegate = self @@ -605,7 +605,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll // MARK: Starscream delegate conformance /// Delegate method for connection. - public func websocketDidConnect(socket: WebSocket) { + public func websocketDidConnect(socket: WebSocketClient) { if !forceWebsockets { probing = true probeWebSocket() @@ -617,7 +617,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll } /// Delegate method for disconnection. - public func websocketDidDisconnect(socket: WebSocket, error: NSError?) { + public func websocketDidDisconnect(socket: WebSocketClient, error: Error?) { probing = false if closed { diff --git a/Source/SocketIO/Engine/SocketEngineWebsocket.swift b/Source/SocketIO/Engine/SocketEngineWebsocket.swift index 514ea3a..75da709 100644 --- a/Source/SocketIO/Engine/SocketEngineWebsocket.swift +++ b/Source/SocketIO/Engine/SocketEngineWebsocket.swift @@ -68,12 +68,12 @@ extension SocketEngineWebsocket { // MARK: Starscream delegate methods /// Delegate method for when a message is received. - public func websocketDidReceiveMessage(socket: WebSocket, text: String) { + public func websocketDidReceiveMessage(socket: WebSocketClient, text: String) { parseEngineMessage(text) } /// Delegate method for when binary is received. - public func websocketDidReceiveData(socket: WebSocket, data: Data) { + public func websocketDidReceiveData(socket: WebSocketClient, data: Data) { parseEngineData(data) } }