diff --git a/Source/SocketAckEmitter.swift b/Source/SocketAckEmitter.swift index 4af43e7..5546f1d 100644 --- a/Source/SocketAckEmitter.swift +++ b/Source/SocketAckEmitter.swift @@ -66,7 +66,7 @@ public final class OnAckCallback : NSObject { DefaultSocketLogger.Logger.log("OnAckCallback for \(ackNumber) being released", type: "OnAckCallback") } - public func timingOut(after seconds: Int, callback: @escaping AckCallback) { + @objc public func timingOut(after seconds: Int, callback: @escaping AckCallback) { guard let socket = self.socket else { return } socket.ackQueue.sync() { diff --git a/Source/SocketEngine.swift b/Source/SocketEngine.swift index 3bf4ae6..4e0d99c 100644 --- a/Source/SocketEngine.swift +++ b/Source/SocketEngine.swift @@ -154,7 +154,7 @@ public final class SocketEngine : NSObject, URLSessionDelegate, SocketEnginePoll private func handleBase64(message: String) { // binary in base64 string - let noPrefix = message[message.index(message.startIndex, offsetBy: 2)..)` - public convenience init(socketURL: NSURL, config: NSDictionary?) { + @objc public convenience init(socketURL: NSURL, config: NSDictionary?) { self.init(socketURL: socketURL as URL, config: config?.toSocketConfiguration() ?? []) } @@ -132,7 +132,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable /// Connect to the server. If we aren't connected after timeoutAfter, call withHandler /// 0 Never times out - public func connect(timeoutAfter: Int, withHandler handler: (() -> Void)?) { + @objc public func connect(timeoutAfter: Int, withHandler handler: (() -> Void)?) { assert(timeoutAfter >= 0, "Invalid timeout: \(timeoutAfter)") guard status != .connected else { @@ -196,7 +196,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable } /// Disconnects the socket. - public func disconnect() { + @objc public func disconnect() { DefaultSocketLogger.Logger.log("Closing socket", type: logType) didDisconnect(reason: "Disconnect") @@ -208,7 +208,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable } /// Same as emit, but meant for Objective-C - public func emit(_ event: String, with items: [Any]) { + @objc public func emit(_ event: String, with items: [Any]) { guard status == .connected else { handleEvent("error", data: ["Tried emitting \(event) when not connected"], isInternalMessage: true) return @@ -224,7 +224,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable } /// Same as emitWithAck, but for Objective-C - public func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback { + @objc public func emitWithAck(_ event: String, with items: [Any]) -> OnAckCallback { return createOnAck([event] + items) } @@ -347,7 +347,7 @@ public final class SocketIOClient : NSObject, SocketEngineClient, SocketParsable /// Adds a handler for an event. /// Returns: A unique id for the handler @discardableResult - public func on(_ event: String, callback: @escaping NormalCallback) -> UUID { + @objc public func on(_ event: String, callback: @escaping NormalCallback) -> UUID { DefaultSocketLogger.Logger.log("Adding handler for event: %@", type: logType, args: event) let handler = SocketEventHandler(event: event, id: UUID(), callback: callback) diff --git a/Source/SocketParsable.swift b/Source/SocketParsable.swift index 7c9ce21..1fd69ef 100644 --- a/Source/SocketParsable.swift +++ b/Source/SocketParsable.swift @@ -109,7 +109,7 @@ extension SocketParsable { - var dataArray = message[message.characters.index(reader.currentIndex, offsetBy: 1).. String.Index { - currentIndex = message.characters.index(currentIndex, offsetBy: by) + currentIndex = message.index(currentIndex, offsetBy: by) return currentIndex } mutating func read(count: Int) -> String { - let readString = message[currentIndex.. String { @@ -59,15 +59,15 @@ struct SocketStringReader { guard let foundRange = substring.range(of: string) else { currentIndex = message.endIndex - return substring + return String(substring) } - advance(by: message.characters.distance(from: message.characters.startIndex, to: foundRange.lowerBound) + 1) + advance(by: message.distance(from: message.startIndex, to: foundRange.lowerBound) + 1) - return substring.substring(to: foundRange.lowerBound) + return String(substring[.. String { - return read(count: message.characters.distance(from: currentIndex, to: message.endIndex)) + return read(count: message.distance(from: currentIndex, to: message.endIndex)) } } diff --git a/Source/WebSocket.swift b/Source/WebSocket.swift index 34152af..f57ec3d 100644 --- a/Source/WebSocket.swift +++ b/Source/WebSocket.swift @@ -115,7 +115,7 @@ open class WebSocket : NSObject, StreamDelegate { // MARK: - Block based API. - public var onConnect: ((Void) -> Void)? + public var onConnect: (() -> Void)? public var onDisconnect: ((NSError?) -> Void)? public var onText: ((String) -> Void)? public var onData: ((Data) -> Void)?