Compare commits
31 Commits
carthage-t
...
master
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
42da871d93 | ||
|
|
03032d0c72 | ||
|
|
d690d9c1bf | ||
|
|
99cc2448f7 | ||
|
|
99b673dfa5 | ||
|
|
b4bff5db90 | ||
|
|
354ed7e5e4 | ||
|
|
5ecc5bbae9 | ||
|
|
d069bbeefe | ||
|
|
eb806b62bf | ||
|
|
6dd51170bb | ||
|
|
76b941933e | ||
|
|
71a627c099 | ||
|
|
a21af1016e | ||
|
|
85585c42c0 | ||
|
|
175da8b515 | ||
|
|
ccc73e3790 | ||
|
|
786b11ad46 | ||
|
|
332a25f241 | ||
|
|
12b08a975f | ||
|
|
2058eba1fb | ||
|
|
d7846b31a2 | ||
|
|
3c81d0ee55 | ||
|
|
0898078cc8 | ||
|
|
69124a74e8 | ||
|
|
4325b6d139 | ||
|
|
66eca437b8 | ||
|
|
8837d4a0d8 | ||
|
|
a1ed825835 | ||
|
|
cc3ce5679e | ||
|
|
ec4378ca49 |
2
.gitignore
vendored
2
.gitignore
vendored
@ -50,3 +50,5 @@ Socket.IO-Test-Server/node_modules/*
|
|||||||
.idea/
|
.idea/
|
||||||
docs/docsets/
|
docs/docsets/
|
||||||
docs/undocumented.json
|
docs/undocumented.json
|
||||||
|
|
||||||
|
.swiftpm
|
||||||
|
|||||||
7
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
generated
Normal file
7
.swiftpm/xcode/package.xcworkspace/contents.xcworkspacedata
generated
Normal file
@ -0,0 +1,7 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<Workspace
|
||||||
|
version = "1.0">
|
||||||
|
<FileRef
|
||||||
|
location = "self:">
|
||||||
|
</FileRef>
|
||||||
|
</Workspace>
|
||||||
@ -1,3 +1,8 @@
|
|||||||
|
# v16.1.0
|
||||||
|
|
||||||
|
- Remove support for iOS 11.
|
||||||
|
- Update to Starscream 4.0.6
|
||||||
|
|
||||||
# v16.0.0
|
# v16.0.0
|
||||||
|
|
||||||
- Removed Objective-C support. It's time for you to embrace Swift.
|
- Removed Objective-C support. It's time for you to embrace Swift.
|
||||||
|
|||||||
2
Cartfile
2
Cartfile
@ -1 +1 @@
|
|||||||
github "daltoniam/Starscream" ~> 4.0
|
github "daltoniam/Starscream" ~> 4.0.8
|
||||||
@ -1 +1 @@
|
|||||||
github "daltoniam/Starscream" "4.0.4"
|
github "daltoniam/Starscream" "4.0.8"
|
||||||
|
|||||||
@ -6,8 +6,8 @@
|
|||||||
"repositoryURL": "https://github.com/daltoniam/Starscream",
|
"repositoryURL": "https://github.com/daltoniam/Starscream",
|
||||||
"state": {
|
"state": {
|
||||||
"branch": null,
|
"branch": null,
|
||||||
"revision": "df8d82047f6654d8e4b655d1b1525c64e1059d21",
|
"revision": "c6bfd1af48efcc9a9ad203665db12375ba6b145a",
|
||||||
"version": "4.0.4"
|
"version": "4.0.8"
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
]
|
]
|
||||||
|
|||||||
@ -1,4 +1,4 @@
|
|||||||
// swift-tools-version:5.3
|
// swift-tools-version:5.4
|
||||||
|
|
||||||
import PackageDescription
|
import PackageDescription
|
||||||
|
|
||||||
@ -8,7 +8,7 @@ let package = Package(
|
|||||||
.library(name: "SocketIO", targets: ["SocketIO"])
|
.library(name: "SocketIO", targets: ["SocketIO"])
|
||||||
],
|
],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
.package(url: "https://github.com/daltoniam/Starscream", .upToNextMinor(from: "4.0.0")),
|
.package(url: "https://github.com/daltoniam/Starscream", .upToNextMajor(from: "4.0.8")),
|
||||||
],
|
],
|
||||||
targets: [
|
targets: [
|
||||||
.target(name: "SocketIO", dependencies: ["Starscream"]),
|
.target(name: "SocketIO", dependencies: ["Starscream"]),
|
||||||
|
|||||||
@ -18,7 +18,7 @@ socket.on("currentAmount") {data, ack in
|
|||||||
guard let cur = data[0] as? Double else { return }
|
guard let cur = data[0] as? Double else { return }
|
||||||
|
|
||||||
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
|
socket.emitWithAck("canUpdate", cur).timingOut(after: 0) {data in
|
||||||
if data.first as? String ?? "passed" == SocketAckValue.noAck {
|
if data.first as? String ?? "passed" == SocketAckStatus.noAck {
|
||||||
// Handle ack timeout
|
// Handle ack timeout
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -61,7 +61,7 @@ let package = Package(
|
|||||||
.executable(name: "socket.io-test", targets: ["YourTargetName"])
|
.executable(name: "socket.io-test", targets: ["YourTargetName"])
|
||||||
],
|
],
|
||||||
dependencies: [
|
dependencies: [
|
||||||
.package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "15.0.0"))
|
.package(url: "https://github.com/socketio/socket.io-client-swift", .upToNextMinor(from: "16.1.1"))
|
||||||
],
|
],
|
||||||
targets: [
|
targets: [
|
||||||
.target(name: "YourTargetName", dependencies: ["SocketIO"], path: "./Path/To/Your/Sources")
|
.target(name: "YourTargetName", dependencies: ["SocketIO"], path: "./Path/To/Your/Sources")
|
||||||
@ -74,7 +74,7 @@ Then import `import SocketIO`.
|
|||||||
### Carthage
|
### Carthage
|
||||||
Add this line to your `Cartfile`:
|
Add this line to your `Cartfile`:
|
||||||
```
|
```
|
||||||
github "socketio/socket.io-client-swift" ~> 15.2.0
|
github "socketio/socket.io-client-swift" ~> 16.1.1
|
||||||
```
|
```
|
||||||
|
|
||||||
Run `carthage update --platform ios,macosx`.
|
Run `carthage update --platform ios,macosx`.
|
||||||
@ -88,7 +88,7 @@ Create `Podfile` and add `pod 'Socket.IO-Client-Swift'`:
|
|||||||
use_frameworks!
|
use_frameworks!
|
||||||
|
|
||||||
target 'YourApp' do
|
target 'YourApp' do
|
||||||
pod 'Socket.IO-Client-Swift', '~> 15.2.0'
|
pod 'Socket.IO-Client-Swift', '~> 16.1.1'
|
||||||
end
|
end
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|||||||
@ -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 = "SocketIO"
|
s.module_name = "SocketIO"
|
||||||
s.version = "16.0.1"
|
s.version = "16.1.1"
|
||||||
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.
|
||||||
@ -11,21 +11,21 @@ Pod::Spec.new do |s|
|
|||||||
s.homepage = "https://github.com/socketio/socket.io-client-swift"
|
s.homepage = "https://github.com/socketio/socket.io-client-swift"
|
||||||
s.license = { :type => 'MIT' }
|
s.license = { :type => 'MIT' }
|
||||||
s.author = { "Erik" => "nuclear.ace@gmail.com" }
|
s.author = { "Erik" => "nuclear.ace@gmail.com" }
|
||||||
s.ios.deployment_target = '10.0'
|
s.ios.deployment_target = '12.0'
|
||||||
s.osx.deployment_target = '10.13'
|
s.osx.deployment_target = '10.13'
|
||||||
s.tvos.deployment_target = '10.0'
|
s.tvos.deployment_target = '12.0'
|
||||||
s.watchos.deployment_target = '5.0'
|
s.watchos.deployment_target = '5.0'
|
||||||
s.requires_arc = true
|
s.requires_arc = true
|
||||||
s.source = {
|
s.source = {
|
||||||
:git => "https://github.com/socketio/socket.io-client-swift.git",
|
:git => "https://github.com/socketio/socket.io-client-swift.git",
|
||||||
:tag => 'v16.0.1',
|
:tag => 'v16.1.1',
|
||||||
:submodules => true
|
:submodules => true
|
||||||
}
|
}
|
||||||
|
|
||||||
s.swift_version = "5"
|
s.swift_version = "5"
|
||||||
s.pod_target_xcconfig = {
|
s.pod_target_xcconfig = {
|
||||||
'SWIFT_VERSION' => '5.0'
|
'SWIFT_VERSION' => '5.4'
|
||||||
}
|
}
|
||||||
s.source_files = "Source/SocketIO/**/*.swift", "Source/SocketIO/*.swift"
|
s.source_files = "Source/SocketIO/**/*.swift", "Source/SocketIO/*.swift"
|
||||||
s.dependency "Starscream", "~> 4.0"
|
s.dependency "Starscream", "~> 4.0.8"
|
||||||
end
|
end
|
||||||
|
|||||||
@ -3,7 +3,7 @@
|
|||||||
archiveVersion = 1;
|
archiveVersion = 1;
|
||||||
classes = {
|
classes = {
|
||||||
};
|
};
|
||||||
objectVersion = 52;
|
objectVersion = 54;
|
||||||
objects = {
|
objects = {
|
||||||
|
|
||||||
/* Begin PBXBuildFile section */
|
/* Begin PBXBuildFile section */
|
||||||
@ -511,7 +511,6 @@
|
|||||||
572EF2121B51F12F00EEBB58 /* Debug */ = {
|
572EF2121B51F12F00EEBB58 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BITCODE_GENERATION_MODE = bitcode;
|
|
||||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
@ -531,8 +530,6 @@
|
|||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||||
ENABLE_BITCODE = YES;
|
|
||||||
"ENABLE_BITCODE[sdk=macosx*]" = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
@ -551,7 +548,7 @@
|
|||||||
MACOSX_DEPLOYMENT_TARGET = 10.14;
|
MACOSX_DEPLOYMENT_TARGET = 10.14;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_NAME = SocketIO;
|
PRODUCT_NAME = SocketIO;
|
||||||
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator";
|
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator xrsimulator xros";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
TVOS_DEPLOYMENT_TARGET = 10.0;
|
||||||
@ -563,7 +560,6 @@
|
|||||||
572EF2131B51F12F00EEBB58 /* Release */ = {
|
572EF2131B51F12F00EEBB58 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
BITCODE_GENERATION_MODE = bitcode;
|
|
||||||
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
|
||||||
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES;
|
||||||
CLANG_WARN_BOOL_CONVERSION = YES;
|
CLANG_WARN_BOOL_CONVERSION = YES;
|
||||||
@ -583,8 +579,6 @@
|
|||||||
CLANG_WARN_UNREACHABLE_CODE = YES;
|
CLANG_WARN_UNREACHABLE_CODE = YES;
|
||||||
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
CLANG_WARN__DUPLICATE_METHOD_MATCH = YES;
|
||||||
CODE_SIGN_IDENTITY = "Mac Developer";
|
CODE_SIGN_IDENTITY = "Mac Developer";
|
||||||
ENABLE_BITCODE = YES;
|
|
||||||
"ENABLE_BITCODE[sdk=macosx*]" = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
@ -600,7 +594,7 @@
|
|||||||
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
IPHONEOS_DEPLOYMENT_TARGET = 10.0;
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.14;
|
MACOSX_DEPLOYMENT_TARGET = 10.14;
|
||||||
PRODUCT_NAME = SocketIO;
|
PRODUCT_NAME = SocketIO;
|
||||||
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator";
|
SUPPORTED_PLATFORMS = "macosx appletvsimulator appletvos iphonesimulator iphoneos watchos watchsimulator xrsimulator xros";
|
||||||
SWIFT_COMPILATION_MODE = wholemodule;
|
SWIFT_COMPILATION_MODE = wholemodule;
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
SWIFT_OPTIMIZATION_LEVEL = "-O";
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
@ -613,6 +607,7 @@
|
|||||||
572EF24C1B51F18A00EEBB58 /* Debug */ = {
|
572EF24C1B51F18A00EEBB58 /* Debug */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
@ -637,8 +632,6 @@
|
|||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
"ENABLE_BITCODE[arch=*]" = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
FRAMEWORK_SEARCH_PATHS = "$(inherited)";
|
||||||
@ -659,6 +652,7 @@
|
|||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
INFOPLIST_FILE = SocketIO/Info.plist;
|
INFOPLIST_FILE = SocketIO/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -678,12 +672,14 @@
|
|||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
SUPPORTED_PLATFORMS = "$(inherited)";
|
SUPPORTED_PLATFORMS = "$(inherited)";
|
||||||
SUPPORTS_MACCATALYST = YES;
|
SUPPORTS_MACCATALYST = YES;
|
||||||
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||||
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||||
SWIFT_INCLUDE_PATHS = "";
|
SWIFT_INCLUDE_PATHS = "";
|
||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2,3,4";
|
TARGETED_DEVICE_FAMILY = "1,2,3,4,7";
|
||||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
TVOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
VALID_ARCHS = "$(inherited)";
|
VALID_ARCHS = "$(inherited)";
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
@ -693,6 +689,7 @@
|
|||||||
572EF24D1B51F18A00EEBB58 /* Release */ = {
|
572EF24D1B51F18A00EEBB58 /* Release */ = {
|
||||||
isa = XCBuildConfiguration;
|
isa = XCBuildConfiguration;
|
||||||
buildSettings = {
|
buildSettings = {
|
||||||
|
ALLOW_TARGET_PLATFORM_SPECIALIZATION = YES;
|
||||||
ALWAYS_SEARCH_USER_PATHS = NO;
|
ALWAYS_SEARCH_USER_PATHS = NO;
|
||||||
APPLICATION_EXTENSION_API_ONLY = YES;
|
APPLICATION_EXTENSION_API_ONLY = YES;
|
||||||
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
|
||||||
@ -717,8 +714,6 @@
|
|||||||
DYLIB_COMPATIBILITY_VERSION = 1;
|
DYLIB_COMPATIBILITY_VERSION = 1;
|
||||||
DYLIB_CURRENT_VERSION = 1;
|
DYLIB_CURRENT_VERSION = 1;
|
||||||
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
DYLIB_INSTALL_NAME_BASE = "@rpath";
|
||||||
ENABLE_BITCODE = YES;
|
|
||||||
"ENABLE_BITCODE[arch=*]" = YES;
|
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
ENABLE_TESTABILITY = YES;
|
ENABLE_TESTABILITY = YES;
|
||||||
@ -734,6 +729,7 @@
|
|||||||
GCC_WARN_UNUSED_VARIABLE = YES;
|
GCC_WARN_UNUSED_VARIABLE = YES;
|
||||||
INFOPLIST_FILE = SocketIO/Info.plist;
|
INFOPLIST_FILE = SocketIO/Info.plist;
|
||||||
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
|
||||||
|
IPHONEOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
LD_RUNPATH_SEARCH_PATHS = (
|
LD_RUNPATH_SEARCH_PATHS = (
|
||||||
"$(inherited)",
|
"$(inherited)",
|
||||||
"@executable_path/Frameworks",
|
"@executable_path/Frameworks",
|
||||||
@ -752,11 +748,13 @@
|
|||||||
SKIP_INSTALL = YES;
|
SKIP_INSTALL = YES;
|
||||||
SUPPORTED_PLATFORMS = "$(inherited)";
|
SUPPORTED_PLATFORMS = "$(inherited)";
|
||||||
SUPPORTS_MACCATALYST = YES;
|
SUPPORTS_MACCATALYST = YES;
|
||||||
|
SUPPORTS_MAC_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||||
|
SUPPORTS_XR_DESIGNED_FOR_IPHONE_IPAD = NO;
|
||||||
SWIFT_INCLUDE_PATHS = "";
|
SWIFT_INCLUDE_PATHS = "";
|
||||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TARGETED_DEVICE_FAMILY = "1,2,3,4";
|
TARGETED_DEVICE_FAMILY = "1,2,3,4,7";
|
||||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
TVOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
VALID_ARCHS = "$(inherited)";
|
VALID_ARCHS = "$(inherited)";
|
||||||
VERSIONING_SYSTEM = "apple-generic";
|
VERSIONING_SYSTEM = "apple-generic";
|
||||||
VERSION_INFO_PREFIX = "";
|
VERSION_INFO_PREFIX = "";
|
||||||
@ -784,7 +782,6 @@
|
|||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
DEBUG_INFORMATION_FORMAT = dwarf;
|
DEBUG_INFORMATION_FORMAT = dwarf;
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
"$(DEVELOPER_FRAMEWORKS_DIR)",
|
||||||
@ -837,7 +834,7 @@
|
|||||||
"@loader_path/../Frameworks",
|
"@loader_path/../Frameworks",
|
||||||
);
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
MTL_ENABLE_DEBUG_INFO = YES;
|
MTL_ENABLE_DEBUG_INFO = YES;
|
||||||
ONLY_ACTIVE_ARCH = YES;
|
ONLY_ACTIVE_ARCH = YES;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
|
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
|
||||||
@ -847,7 +844,7 @@
|
|||||||
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
|
||||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
TVOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
VALID_ARCHS = "$(inherited)";
|
VALID_ARCHS = "$(inherited)";
|
||||||
};
|
};
|
||||||
name = Debug;
|
name = Debug;
|
||||||
@ -873,7 +870,6 @@
|
|||||||
COMBINE_HIDPI_IMAGES = YES;
|
COMBINE_HIDPI_IMAGES = YES;
|
||||||
COPY_PHASE_STRIP = NO;
|
COPY_PHASE_STRIP = NO;
|
||||||
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym";
|
||||||
ENABLE_BITCODE = NO;
|
|
||||||
ENABLE_NS_ASSERTIONS = NO;
|
ENABLE_NS_ASSERTIONS = NO;
|
||||||
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
ENABLE_STRICT_OBJC_MSGSEND = YES;
|
||||||
FRAMEWORK_SEARCH_PATHS = (
|
FRAMEWORK_SEARCH_PATHS = (
|
||||||
@ -920,7 +916,7 @@
|
|||||||
"@loader_path/../Frameworks",
|
"@loader_path/../Frameworks",
|
||||||
);
|
);
|
||||||
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
LIBRARY_SEARCH_PATHS = "$(inherited)";
|
||||||
MACOSX_DEPLOYMENT_TARGET = 10.10;
|
MACOSX_DEPLOYMENT_TARGET = 10.13;
|
||||||
MTL_ENABLE_DEBUG_INFO = NO;
|
MTL_ENABLE_DEBUG_INFO = NO;
|
||||||
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
|
PRODUCT_BUNDLE_IDENTIFIER = "io.socket.$(PRODUCT_NAME:rfc1034identifier)";
|
||||||
PRODUCT_NAME = "$(TARGET_NAME)";
|
PRODUCT_NAME = "$(TARGET_NAME)";
|
||||||
@ -928,7 +924,7 @@
|
|||||||
SUPPORTED_PLATFORMS = "$(inherited)";
|
SUPPORTED_PLATFORMS = "$(inherited)";
|
||||||
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
SWIFT_SWIFT3_OBJC_INFERENCE = Default;
|
||||||
SWIFT_VERSION = 5.0;
|
SWIFT_VERSION = 5.0;
|
||||||
TVOS_DEPLOYMENT_TARGET = 10.0;
|
TVOS_DEPLOYMENT_TARGET = 12.0;
|
||||||
VALID_ARCHS = "$(inherited)";
|
VALID_ARCHS = "$(inherited)";
|
||||||
};
|
};
|
||||||
name = Release;
|
name = Release;
|
||||||
|
|||||||
@ -136,8 +136,8 @@ public final class OnAckCallback: NSObject {
|
|||||||
|
|
||||||
guard seconds != 0 else { return }
|
guard seconds != 0 else { return }
|
||||||
|
|
||||||
socket.manager?.handleQueue.asyncAfter(deadline: DispatchTime.now() + seconds) {[weak socket, weak self] in
|
socket.manager?.handleQueue.asyncAfter(deadline: DispatchTime.now() + seconds) {[weak socket] in
|
||||||
guard let socket = socket, let `self` = self else { return }
|
guard let socket = socket else { return }
|
||||||
|
|
||||||
socket.ackHandlers.timeoutAck(self.ackNumber)
|
socket.ackHandlers.timeoutAck(self.ackNumber)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -150,6 +150,7 @@ open class SocketIOClient: NSObject, SocketIOClientSpec {
|
|||||||
|
|
||||||
manager.handleQueue.asyncAfter(deadline: DispatchTime.now() + timeoutAfter) {[weak self] in
|
manager.handleQueue.asyncAfter(deadline: DispatchTime.now() + timeoutAfter) {[weak self] in
|
||||||
guard let this = self, this.status == .connecting || this.status == .notConnected else { return }
|
guard let this = self, this.status == .connecting || this.status == .notConnected else { return }
|
||||||
|
DefaultSocketLogger.Logger.log("Timeout: Socket not connected, so setting to disconnected", type: this.logType)
|
||||||
|
|
||||||
this.status = .disconnected
|
this.status = .disconnected
|
||||||
this.leaveNamespace()
|
this.leaveNamespace()
|
||||||
|
|||||||
@ -28,8 +28,10 @@ import Starscream
|
|||||||
|
|
||||||
/// The class that handles the engine.io protocol and transports.
|
/// The class that handles the engine.io protocol and transports.
|
||||||
/// See `SocketEnginePollable` and `SocketEngineWebsocket` for transport specific methods.
|
/// See `SocketEnginePollable` and `SocketEngineWebsocket` for transport specific methods.
|
||||||
open class SocketEngine:
|
open class SocketEngine: NSObject, WebSocketDelegate, URLSessionDelegate,
|
||||||
NSObject, WebSocketDelegate, URLSessionDelegate, SocketEnginePollable, SocketEngineWebsocket, ConfigSettable {
|
SocketEnginePollable, SocketEngineWebsocket, ConfigSettable {
|
||||||
|
|
||||||
|
|
||||||
// MARK: Properties
|
// MARK: Properties
|
||||||
|
|
||||||
private static let logType = "SocketEngine"
|
private static let logType = "SocketEngine"
|
||||||
@ -747,11 +749,11 @@ extension SocketEngine {
|
|||||||
/// - Parameters:
|
/// - Parameters:
|
||||||
/// - event: WS Event
|
/// - event: WS Event
|
||||||
/// - _:
|
/// - _:
|
||||||
public func didReceive(event: WebSocketEvent, client _: WebSocket) {
|
public func didReceive(event: Starscream.WebSocketEvent, client: Starscream.WebSocketClient) {
|
||||||
switch event {
|
switch event {
|
||||||
case let .connected(headers):
|
case let .connected(headers):
|
||||||
wsConnected = true
|
wsConnected = true
|
||||||
client?.engineDidWebsocketUpgrade(headers: headers)
|
self.client?.engineDidWebsocketUpgrade(headers: headers)
|
||||||
websocketDidConnect()
|
websocketDidConnect()
|
||||||
case .cancelled:
|
case .cancelled:
|
||||||
wsConnected = false
|
wsConnected = false
|
||||||
@ -759,6 +761,12 @@ extension SocketEngine {
|
|||||||
case .disconnected(_, _):
|
case .disconnected(_, _):
|
||||||
wsConnected = false
|
wsConnected = false
|
||||||
websocketDidDisconnect(error: nil)
|
websocketDidDisconnect(error: nil)
|
||||||
|
case .viabilityChanged(false):
|
||||||
|
wsConnected = false
|
||||||
|
websocketDidDisconnect(error: nil)
|
||||||
|
case .peerClosed:
|
||||||
|
wsConnected = false
|
||||||
|
websocketDidDisconnect(error: nil)
|
||||||
case let .text(msg):
|
case let .text(msg):
|
||||||
parseEngineMessage(msg)
|
parseEngineMessage(msg)
|
||||||
case let .binary(data):
|
case let .binary(data):
|
||||||
|
|||||||
@ -132,7 +132,7 @@ open class SocketManager: NSObject, SocketManagerSpec, SocketParsable, SocketDat
|
|||||||
private(set) var reconnectAttempts = -1
|
private(set) var reconnectAttempts = -1
|
||||||
|
|
||||||
private var _config: SocketIOClientConfiguration
|
private var _config: SocketIOClientConfiguration
|
||||||
private var currentReconnectAttempt = 0
|
internal var currentReconnectAttempt = 0
|
||||||
private var reconnecting = false
|
private var reconnecting = false
|
||||||
|
|
||||||
// MARK: Initializers
|
// MARK: Initializers
|
||||||
@ -186,9 +186,8 @@ open class SocketManager: NSObject, SocketManagerSpec, SocketParsable, SocketDat
|
|||||||
///
|
///
|
||||||
/// Override if you wish to attach a custom `SocketEngineSpec`.
|
/// Override if you wish to attach a custom `SocketEngineSpec`.
|
||||||
open func connect() {
|
open func connect() {
|
||||||
guard !status.active else {
|
if status == .connected || (status == .connecting && currentReconnectAttempt == 0) {
|
||||||
DefaultSocketLogger.Logger.log("Tried connecting an already active socket", type: SocketManager.logType)
|
DefaultSocketLogger.Logger.log("Tried connecting an already active socket", type: SocketManager.logType)
|
||||||
|
|
||||||
return
|
return
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@ -28,7 +28,6 @@ class SocketAckManagerTest : XCTestCase {
|
|||||||
|
|
||||||
func testManagerTimeoutAck() {
|
func testManagerTimeoutAck() {
|
||||||
let callbackExpection = expectation(description: "Manager should timeout ack with noAck status")
|
let callbackExpection = expectation(description: "Manager should timeout ack with noAck status")
|
||||||
let itemsArray = ["Hi", "ho"]
|
|
||||||
|
|
||||||
func callback(_ items: [Any]) {
|
func callback(_ items: [Any]) {
|
||||||
XCTAssertEqual(items.count, 1, "Timed out ack should have one value")
|
XCTAssertEqual(items.count, 1, "Timed out ack should have one value")
|
||||||
|
|||||||
@ -60,6 +60,44 @@ class SocketMangerTest : XCTestCase {
|
|||||||
waitForExpectations(timeout: 0.3)
|
waitForExpectations(timeout: 0.3)
|
||||||
}
|
}
|
||||||
|
|
||||||
|
func testManagerDoesNotCallConnectWhenConnectingWithLessThanOneReconnect() {
|
||||||
|
setUpSockets()
|
||||||
|
|
||||||
|
let expect = expectation(description: "The manager should not call connect on the engine")
|
||||||
|
expect.isInverted = true
|
||||||
|
|
||||||
|
let engine = TestEngine(client: manager, url: manager.socketURL, options: nil)
|
||||||
|
|
||||||
|
engine.onConnect = {
|
||||||
|
expect.fulfill()
|
||||||
|
}
|
||||||
|
manager.setTestStatus(.connecting)
|
||||||
|
manager.setCurrentReconnect(currentReconnect: 0)
|
||||||
|
manager.engine = engine
|
||||||
|
|
||||||
|
manager.connect()
|
||||||
|
|
||||||
|
waitForExpectations(timeout: 0.3)
|
||||||
|
}
|
||||||
|
|
||||||
|
func testManagerCallConnectWhenConnectingAndMoreThanOneReconnect() {
|
||||||
|
setUpSockets()
|
||||||
|
|
||||||
|
let expect = expectation(description: "The manager should call connect on the engine")
|
||||||
|
let engine = TestEngine(client: manager, url: manager.socketURL, options: nil)
|
||||||
|
|
||||||
|
engine.onConnect = {
|
||||||
|
expect.fulfill()
|
||||||
|
}
|
||||||
|
manager.setTestStatus(.connecting)
|
||||||
|
manager.setCurrentReconnect(currentReconnect: 1)
|
||||||
|
manager.engine = engine
|
||||||
|
|
||||||
|
manager.connect()
|
||||||
|
|
||||||
|
waitForExpectations(timeout: 0.8)
|
||||||
|
}
|
||||||
|
|
||||||
func testManagerCallsDisconnect() {
|
func testManagerCallsDisconnect() {
|
||||||
setUpSockets()
|
setUpSockets()
|
||||||
|
|
||||||
@ -154,6 +192,10 @@ public enum ManagerExpectation: String {
|
|||||||
}
|
}
|
||||||
|
|
||||||
public class TestManager: SocketManager {
|
public class TestManager: SocketManager {
|
||||||
|
public func setCurrentReconnect(currentReconnect: Int) {
|
||||||
|
self.currentReconnectAttempt = currentReconnect
|
||||||
|
}
|
||||||
|
|
||||||
public override func disconnect() {
|
public override func disconnect() {
|
||||||
setTestStatus(.disconnected)
|
setTestStatus(.disconnected)
|
||||||
}
|
}
|
||||||
|
|||||||
@ -487,7 +487,7 @@ class TestEngine: SocketEngineSpec {
|
|||||||
private(set) var ws: WebSocket? = nil
|
private(set) var ws: WebSocket? = nil
|
||||||
private(set) var version = SocketIOVersion.three
|
private(set) var version = SocketIOVersion.three
|
||||||
|
|
||||||
fileprivate var onConnect: (() -> ())?
|
internal var onConnect: (() -> ())?
|
||||||
|
|
||||||
required init(client: SocketEngineClient, url: URL, options: [String: Any]?) {
|
required init(client: SocketEngineClient, url: URL, options: [String: Any]?) {
|
||||||
self.client = client
|
self.client = client
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user