From 3772a6a2988f4f101e5b264fcc3e6332e89e9f54 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Mon, 23 Mar 2020 09:49:37 +0000 Subject: [PATCH 01/24] Update to swiftyJSON 5.0.0 and Starscream 4.0.0 --- Example/FayeSwift.xcodeproj/project.pbxproj | 60 +- Example/Podfile.lock | 23 +- .../Local Podspecs/FayeSwift.podspec.json | 10 +- Example/Pods/Manifest.lock | 23 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1297 +++++++++------- Example/Pods/Starscream/README.md | 233 ++- .../Pods/Starscream/Source/SSLSecurity.swift | 260 ---- .../Pods/Starscream/Source/WebSocket.swift | 942 ------------ Example/Pods/SwiftyJSON/LICENSE | 2 +- Example/Pods/SwiftyJSON/README.md | 279 ++-- .../Pods/SwiftyJSON/Source/SwiftyJSON.swift | 1344 ----------------- .../FayeSwift/FayeSwift-prefix.pch | 8 + .../FayeSwift/FayeSwift-umbrella.h | 8 + .../FayeSwift/FayeSwift.xcconfig | 13 +- ...ayeSwift_Example-acknowledgements.markdown | 2 +- ...s-FayeSwift_Example-acknowledgements.plist | 2 +- .../Pods-FayeSwift_Example-frameworks.sh | 122 +- .../Pods-FayeSwift_Example-umbrella.h | 8 + .../Pods-FayeSwift_Example.debug.xcconfig | 14 +- .../Pods-FayeSwift_Example.release.xcconfig | 14 +- ...-FayeSwift_Tests-acknowledgements.markdown | 2 +- ...ods-FayeSwift_Tests-acknowledgements.plist | 2 +- .../Pods-FayeSwift_Tests-frameworks.sh | 122 +- .../Pods-FayeSwift_Tests-umbrella.h | 8 + .../Pods-FayeSwift_Tests.debug.xcconfig | 14 +- .../Pods-FayeSwift_Tests.release.xcconfig | 14 +- .../Starscream/Starscream-prefix.pch | 8 + .../Starscream/Starscream-umbrella.h | 8 + .../Starscream/Starscream.xcconfig | 11 +- .../SwiftyJSON/SwiftyJSON-prefix.pch | 8 + .../SwiftyJSON/SwiftyJSON-umbrella.h | 8 + .../SwiftyJSON/SwiftyJSON.xcconfig | 12 +- FayeSwift.podspec | 6 +- 33 files changed, 1407 insertions(+), 3480 deletions(-) delete mode 100644 Example/Pods/Starscream/Source/SSLSecurity.swift delete mode 100644 Example/Pods/Starscream/Source/WebSocket.swift delete mode 100644 Example/Pods/SwiftyJSON/Source/SwiftyJSON.swift diff --git a/Example/FayeSwift.xcodeproj/project.pbxproj b/Example/FayeSwift.xcodeproj/project.pbxproj index d0cfc75..3e9343f 100644 --- a/Example/FayeSwift.xcodeproj/project.pbxproj +++ b/Example/FayeSwift.xcodeproj/project.pbxproj @@ -171,7 +171,6 @@ 607FACCD1AFB9204008FA782 /* Frameworks */, 607FACCE1AFB9204008FA782 /* Resources */, 21F82E0E26ACF051FC7532F7 /* [CP] Embed Pods Frameworks */, - 59B2329E5037A036C89F0500 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -191,7 +190,6 @@ 607FACE21AFB9204008FA782 /* Frameworks */, 607FACE31AFB9204008FA782 /* Resources */, 9E2A77B21E9E7A5C4BE35879 /* [CP] Embed Pods Frameworks */, - A81BF78875162EB729A72AA7 /* [CP] Copy Pods Resources */, ); buildRules = ( ); @@ -270,13 +268,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-FayeSwift_Tests-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; 21F82E0E26ACF051FC7532F7 /* [CP] Embed Pods Frameworks */ = { @@ -285,28 +286,20 @@ files = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework", + "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework", + "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FayeSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - 59B2329E5037A036C89F0500 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; 9E2A77B21E9E7A5C4BE35879 /* [CP] Embed Pods Frameworks */ = { @@ -315,28 +308,20 @@ files = ( ); inputPaths = ( + "${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh", + "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework", + "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework", + "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FayeSwift.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework", + "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh\"\n"; - showEnvVarsInLog = 0; - }; - A81BF78875162EB729A72AA7 /* [CP] Copy Pods Resources */ = { - isa = PBXShellScriptBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - inputPaths = ( - ); - name = "[CP] Copy Pods Resources"; - outputPaths = ( - ); - runOnlyForDeploymentPostprocessing = 0; - shellPath = /bin/sh; - shellScript = "\"${SRCROOT}/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-resources.sh\"\n"; + shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh\"\n"; showEnvVarsInLog = 0; }; D398F2E44EC65E8B01959DBC /* [CP] Check Pods Manifest.lock */ = { @@ -345,13 +330,16 @@ files = ( ); inputPaths = ( + "${PODS_PODFILE_DIR_PATH}/Podfile.lock", + "${PODS_ROOT}/Manifest.lock", ); name = "[CP] Check Pods Manifest.lock"; outputPaths = ( + "$(DERIVED_FILE_DIR)/Pods-FayeSwift_Example-checkManifestLockResult.txt", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; - shellScript = "diff \"${PODS_ROOT}/../Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n"; + shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n"; showEnvVarsInLog = 0; }; /* End PBXShellScriptBuildPhase section */ diff --git a/Example/Podfile.lock b/Example/Podfile.lock index cdd5614..14e887b 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,22 +1,27 @@ PODS: - - FayeSwift (0.2.0): - - Starscream (~> 2.0) - - SwiftyJSON (~> 3.1) - - Starscream (2.0.2) - - SwiftyJSON (3.1.3) + - FayeSwift (0.4.0): + - Starscream (~> 4.0.0) + - SwiftyJSON (~> 5.0.0) + - Starscream (4.0.0) + - SwiftyJSON (5.0.0) DEPENDENCIES: - FayeSwift (from `../`) +SPEC REPOS: + https://github.com/CocoaPods/Specs.git: + - Starscream + - SwiftyJSON + EXTERNAL SOURCES: FayeSwift: :path: "../" SPEC CHECKSUMS: - FayeSwift: b7889c3df7d9b37fa88253a4c9fbb6fcb4404993 - Starscream: 6c135a34e0a6e60cedaa0b30db67a4c05cf7cd38 - SwiftyJSON: 38a8ea2006779c0fc4c310cb2ee8195327740faf + FayeSwift: ec422983037b3f9d46fb10328497cf6b413128af + Starscream: 04b26f02727e10a002e6b5d21b188ba0d049910b + SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7 PODFILE CHECKSUM: cda739a33c3a43c81b405d9eee2a84c5b9d19f1b -COCOAPODS: 1.1.1 +COCOAPODS: 1.8.4 diff --git a/Example/Pods/Local Podspecs/FayeSwift.podspec.json b/Example/Pods/Local Podspecs/FayeSwift.podspec.json index 5836156..06dd2bf 100644 --- a/Example/Pods/Local Podspecs/FayeSwift.podspec.json +++ b/Example/Pods/Local Podspecs/FayeSwift.podspec.json @@ -1,6 +1,6 @@ { "name": "FayeSwift", - "version": "0.2.0", + "version": "0.4.0", "summary": "A pure Swift Faye (Bayeux) Client", "description": "A Pure Swift Client Library for the Faye (Bayeux/Comet) Pub-Sub messaging server.\nThis client has been tested with the Faye (http://faye.jcoglan.com) implementation of the\nBayeux protocol. Currently only supports Websocket transport.", "homepage": "https://github.com/hamin/FayeSwift", @@ -10,22 +10,22 @@ }, "source": { "git": "https://github.com/hamin/FayeSwift.git", - "tag": "0.2.0" + "tag": "0.4.0" }, "social_media_url": "https://twitter.com/harisamin", "requires_arc": true, "platforms": { - "osx": "10.9", + "osx": "10.10", "ios": "8.0", "tvos": "9.0" }, "source_files": "Sources/*.swift", "dependencies": { "Starscream": [ - "~> 2.0" + "~> 4.0.0" ], "SwiftyJSON": [ - "~> 3.1" + "~> 5.0.0" ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index cdd5614..14e887b 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,22 +1,27 @@ PODS: - - FayeSwift (0.2.0): - - Starscream (~> 2.0) - - SwiftyJSON (~> 3.1) - - Starscream (2.0.2) - - SwiftyJSON (3.1.3) + - FayeSwift (0.4.0): + - Starscream (~> 4.0.0) + - SwiftyJSON (~> 5.0.0) + - Starscream (4.0.0) + - SwiftyJSON (5.0.0) DEPENDENCIES: - FayeSwift (from `../`) +SPEC REPOS: + https://github.com/CocoaPods/Specs.git: + - Starscream + - SwiftyJSON + EXTERNAL SOURCES: FayeSwift: :path: "../" SPEC CHECKSUMS: - FayeSwift: b7889c3df7d9b37fa88253a4c9fbb6fcb4404993 - Starscream: 6c135a34e0a6e60cedaa0b30db67a4c05cf7cd38 - SwiftyJSON: 38a8ea2006779c0fc4c310cb2ee8195327740faf + FayeSwift: ec422983037b3f9d46fb10328497cf6b413128af + Starscream: 04b26f02727e10a002e6b5d21b188ba0d049910b + SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7 PODFILE CHECKSUM: cda739a33c3a43c81b405d9eee2a84c5b9d19f1b -COCOAPODS: 1.1.1 +COCOAPODS: 1.8.4 diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 7db9e25..0e38cda 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,1104 +7,1247 @@ objects = { /* Begin PBXBuildFile section */ - 01491BBA557B2F18B2A77192743E3E55 /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6DCD25231745CBB7A0DE8AE144F32C35 /* SwiftyJSON-dummy.m */; }; - 026017E12DAB48A922244C71A63253D0 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D47E6B74B427A4904D75990D1C34E829 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 12A2D6DEF558554F285FBB6A2196E202 /* Pods-FayeSwift_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 06B16C30B7CF62C246F4DD2B6BA325D2 /* Pods-FayeSwift_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 16C3627510AB6B698291B30407553A5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */; }; - 1AF8A2644E64066D72B7AE1ED35E042E /* FayeClient+Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = DD6E1ADC55716BEA0CA275460382B07D /* FayeClient+Parsing.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 2140E1D04E961AF703FD04D54FF8C740 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */; }; - 2641943D2AB25D845A907E751D0D4A0E /* FayeClient+Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = DDECAEB5EE9FA1ABB438BF7BFA54A873 /* FayeClient+Transport.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 372A1E8811704945874EB18F7BD1309F /* FayeClientDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7C951632446E53D8608098AA9AE5EDEA /* FayeClientDelegate.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 4395CC6B51E36E7FA9DF24986CB85D58 /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6DA424137F7F26626CB88BD77A99423B /* StringExtensions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 53956DED61FE62732C9218A7A387BC00 /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 9A1314F41D4AF302873CCAE4DF95096E /* SwiftyJSON.framework */; }; - 5C79AABB8B872CDFC3596A03DA50F50F /* FayeSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D3A7795CDA243AB07B1664FEE1544038 /* FayeSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 603A236E27FDBCDDDC245C7949FAC4AB /* Pods-FayeSwift_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 1DCE2224000629085D044E4A5FDB2710 /* Pods-FayeSwift_Tests-dummy.m */; }; - 630775D47B4762F060BF09A7AD3AD9F2 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 6B923F40E09322629BC57536AFBDAB00 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 66F8B4E224873FB0B03A14FF6D5055DA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */; }; - 819CD987E43CF9B00A0BE165B3144C21 /* Pods-FayeSwift_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2FE9E957D59ADA0A662E4B8C1A7BD7E2 /* Pods-FayeSwift_Example-dummy.m */; }; - 888BD35738BB6F56062233497B82CEA4 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */; }; - 8F7F7274F17B1CF2A00BED441F5CFD67 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */; }; - 9590095A7427348F72D50958E6DF569D /* FayeClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = B3144C4726BB0EB476A794EEFC0B2F26 /* FayeClient.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - 97E28C082763F8A1B9DF116332FE45A5 /* FayeSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 6F23ED994CFBB0F9B07BF334EA7FF240 /* FayeSwift-dummy.m */; }; - A3F622749F008AB61E99EF439E3B7551 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87D64F48FA18233694918281C87E0266 /* WebSocket.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - AC29BC38767C449B4173F44C53632135 /* Pods-FayeSwift_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 10E4A21EDDC41F94B30C17F38403E413 /* Pods-FayeSwift_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - B4F045C4EB5BA94B75966419EB72662A /* SSLSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 38A444149F18F886FD0A1E23B45D6671 /* SSLSecurity.swift */; settings = {COMPILER_FLAGS = "-fno-objc-arc -w -Xanalyzer -analyzer-disable-all-checks"; }; }; - B715F8A02147DC9AF882D4E8B8CA03A5 /* WebsocketTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0DA092BAC435FAC54B26652A4967BBC2 /* WebsocketTransport.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - BD0EEEBB061534E4B0AA21C29937F7E9 /* FayeClient+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 040DEA860EC7FF25C6B8F9F0C5AE8073 /* FayeClient+Helper.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - C96024BA34EFE5DFB81CAA301E6CBF9D /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0813DA1F91E6465D940389B245DB41E4 /* SwiftyJSON.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D7C3BD0F56BE895E0425738268F11494 /* NSError+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 24295EB91477AACF5542D54C350C5715 /* NSError+Helper.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - D82013AA00D169E2324113D1EA177494 /* FayeClient+Bayuex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 00691AB4D533EDE30C5370EEE0AE7074 /* FayeClient+Bayuex.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - DB619B3DA5D1A31A839B17491D9AB6CF /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3E94F4BAAE418F28A0730CC56D7FACFF /* Starscream.framework */; }; - DF00F790990FE2A87CACDD519DA5FAA2 /* FayeSubscriptionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4E2414E53B957CFF4E6F6E82CECEFA47 /* FayeSubscriptionModel.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - EA58C7FB9E131FA20044D726C8634078 /* FayeClient+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0DE0C357228154269715152013E357E /* FayeClient+Action.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F13620786093149885BC1C94F8AE9FB9 /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = C0700FD7F6575455C46E83723884C015 /* Transport.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - F9073136443690E223D545CD2FF138B0 /* FayeClient+Subscriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0AC895133B34E9D0675395BA526347A6 /* FayeClient+Subscriptions.swift */; settings = {COMPILER_FLAGS = "-w -Xanalyzer -analyzer-disable-all-checks"; }; }; - FED7F96749B4ACB6DAF206513C945CA9 /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 18C6718FA411202146721CBD6539BA6A /* Starscream-dummy.m */; }; + 138B028F2781F34FC2CB743BA8963FA8 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */; }; + 1E50A2A08E2D38A9DE964FF9AA2422D3 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */; }; + 1EBC62F41CC90D12AFBF45BA5FCD976E /* WebsocketTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */; }; + 1F3635C339655885D10797FC8ABD7E8A /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */; }; + 26D0D7BAFEB2991FF2645D209ADE0BC3 /* Pods-FayeSwift_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 35628E6BE1E430358FD214EB19AF2E38 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */; }; + 371AE48204C97C939981924FBB3E3C70 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */; }; + 3D40950A2A032BF1E7C484F9F74A2A27 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */; }; + 3E0613C79EDFB2F6526B335205C961D2 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */; }; + 45C838EF6C400BF9A4FA6330DCA8FF98 /* FayeSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */; }; + 4F3FFB2EBD058878FCE7BECC5CB31523 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; + 52C2F5AA0D179F742394477ECF98BBFD /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4239408D88CF436217DE67140C09B171 /* Transport.swift */; }; + 5B0CD91FE8FAC97D47C421C11DAA0422 /* FayeSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 5DF3DF5AB474D53CAFC036C1CB4B4B66 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */; }; + 5FB5546CB2F4BAA36E9A2146FB4D75DB /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */; }; + 62FCD7F0DA368198F57272D1682DD66A /* NSError+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */; }; + 65101ADC15F4CCE85719A1A6E438A35F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; + 7404C01D26E709ECEA13C96FC15D75EB /* FayeClient+Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */; }; + 74AD214F3F2B356268F80DD79EF54C6C /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */; }; + 74C67375E014FEE93E343794C340DAE4 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */; }; + 7865C7456AC8DDA986065CB404EBD506 /* Pods-FayeSwift_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */; }; + 7A01B7C3FFA07FB1B99E7766CD20DFAA /* Pods-FayeSwift_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7A8AA475862499E7D1525843B24CAA1E /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */; }; + 7D2A8514AF1C3A71622C4FE05D18E0A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; + 7F969E29E261561AEA1DECCD39F67B60 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */; }; + 85C2B16BF2F5A22ACB57013708514FC2 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 88B54AC18FE3E221B13D26B428D189B9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; + 893EA64D6F55C8DA8ED037570777326E /* FayeClient+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */; }; + 8D64DF55AB5B232EEA58818B56EBE442 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */; }; + 90F965102E8A76F689A8E19C2463FB3B /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */; }; + 93524EF16C1EA133AD0893B6FF138B30 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */; }; + 97DA4510146BCEF10BD53BD5CC1459CA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; + 99CABBFF5653DCB301C355A857599B58 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 9A53B97806A9E67FEFEB65DEB5588FFA /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */; }; + A100344FC632242FDEAA4BFC0FC01534 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */; }; + A29DCC96E5AB5067E8BED0CFD06FA96B /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */; }; + B471CF5E4D5068291D4CC54CBF89E964 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */; }; + BFF0B7845AD87F28D8FA3B9D2B209A26 /* FayeSubscriptionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */; }; + C02A130EB04E7E29FC9A3EE23466800C /* FayeClient+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */; }; + C154B9ECABD19498F2889B7FBA47BB47 /* FayeClientDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */; }; + C174E2114D6ABFF21E319E9888DB4748 /* FayeClient+Bayuex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */; }; + C23A7A32046CDBACD4A677F7BDAA5277 /* FayeClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */; }; + CEA89811A22FE7A4CE7A1BC79A130B1D /* FayeClient+Subscriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */; }; + D4BB4F9AF3D954C2245DDC091A7033C5 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */; }; + D9145515CFF4ED198150DDB0C292AC93 /* FayeClient+Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */; }; + D9BF66AB4DA1FE122DE361C31ED25D69 /* Pods-FayeSwift_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */; }; + DD19B0C6316FB9E71A9CF15665A2D2D9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */; }; + F51ECAF8CB23CF31DF912528E378BC81 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */; }; + F8849D114B30E7BD395FE77F7A60CFDB /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */; }; + FB26CA8C3B66AD625A24452C4065D05E /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */; }; + FE7EFFB6A9757806696A3CD416946F74 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 0E2E944578DFD11725AE03E57A2F5E40 /* PBXContainerItemProxy */ = { + 1421504D71EC0462FF0F6C4BEA7A0E1A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5C1F57BFFCD92868AF3442E38186A537; - remoteInfo = SwiftyJSON; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 27129EF77D9CAC29F1151EC75DB48940 /* PBXContainerItemProxy */ = { + 1FAF7891B919F509D3138ED028A6BD86 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = BCC8AE0600D381881B2B45F29D3A3294; - remoteInfo = Starscream; + remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; + remoteInfo = SwiftyJSON; }; - 42672EE0E914C25799C038C3FFE417CC /* PBXContainerItemProxy */ = { + 3402497841F54385E8BD13DF35C92B60 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = BCC8AE0600D381881B2B45F29D3A3294; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - 5C2824D1A9A59FC7E0807982E563883C /* PBXContainerItemProxy */ = { + 4FDADCE46294D8AFCFF8EE03B8B981FB /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D; - remoteInfo = FayeSwift; + remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; + remoteInfo = SwiftyJSON; }; - 663722FA80FCCEA51B761DBCF6962820 /* PBXContainerItemProxy */ = { + 5EE3800B516F9A10F65BF1EE1D7E10F8 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D; - remoteInfo = FayeSwift; + remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; + remoteInfo = Starscream; }; - 906B0FC7D35C414F5BBE0F7DB11C519B /* PBXContainerItemProxy */ = { + E95DA7A58C5A5BC45C3E3EAF38E4C7FE /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5C1F57BFFCD92868AF3442E38186A537; + remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; remoteInfo = SwiftyJSON; }; - B4F58B425B8A192B0B43228D5BBD2FEF /* PBXContainerItemProxy */ = { + ECA15882AE9508D7355A32ED35005A38 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = BCC8AE0600D381881B2B45F29D3A3294; - remoteInfo = Starscream; + remoteGlobalIDString = 5E551DD8B190AB276724C510971C365C; + remoteInfo = FayeSwift; }; - EF2196CF5D21430C9E4A6BAD3F790A0F /* PBXContainerItemProxy */ = { + FC8E37B47A0BE401399B207B9C53A0DF /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; - containerPortal = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = 5C1F57BFFCD92868AF3442E38186A537; - remoteInfo = SwiftyJSON; + remoteGlobalIDString = 5E551DD8B190AB276724C510971C365C; + remoteInfo = FayeSwift; }; /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 00691AB4D533EDE30C5370EEE0AE7074 /* FayeClient+Bayuex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Bayuex.swift"; sourceTree = ""; }; - 01718434A0A3E9C872093B738FC33F54 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; - 040DEA860EC7FF25C6B8F9F0C5AE8073 /* FayeClient+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Helper.swift"; sourceTree = ""; }; - 06B16C30B7CF62C246F4DD2B6BA325D2 /* Pods-FayeSwift_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Example-umbrella.h"; sourceTree = ""; }; - 0813DA1F91E6465D940389B245DB41E4 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON.swift; sourceTree = ""; }; - 0AC895133B34E9D0675395BA526347A6 /* FayeClient+Subscriptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Subscriptions.swift"; sourceTree = ""; }; - 0DA092BAC435FAC54B26652A4967BBC2 /* WebsocketTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = WebsocketTransport.swift; sourceTree = ""; }; - 0F0AD0445D068E37E1C8498A3BF6150D /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; - 10E4A21EDDC41F94B30C17F38403E413 /* Pods-FayeSwift_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Tests-umbrella.h"; sourceTree = ""; }; - 14B7C4FE824293ABEEF592A7E71C4AFC /* Pods-FayeSwift_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Example-frameworks.sh"; sourceTree = ""; }; - 154C747E02B1DCBD4885645B5878477F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 15765D47A6F3AC9E1A1D641D8B2ADB93 /* Pods-FayeSwift_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-acknowledgements.plist"; sourceTree = ""; }; - 18C6718FA411202146721CBD6539BA6A /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; - 1DCE2224000629085D044E4A5FDB2710 /* Pods-FayeSwift_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Tests-dummy.m"; sourceTree = ""; }; - 1EC0280E5CCCCD96F81E63B562E157DD /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; - 24295EB91477AACF5542D54C350C5715 /* NSError+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "NSError+Helper.swift"; sourceTree = ""; }; - 2692C5A026D6876DF0B8ED238232F2E6 /* Pods-FayeSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.release.xcconfig"; sourceTree = ""; }; - 2A14E4E75C0921B8190FF7805BDB1994 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = SwiftyJSON.modulemap; sourceTree = ""; }; - 2D4EF06156597B9C0C9800347C3343FC /* Pods-FayeSwift_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 2FE9E957D59ADA0A662E4B8C1A7BD7E2 /* Pods-FayeSwift_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Example-dummy.m"; sourceTree = ""; }; - 37D9B4C012C932EED434E89C515FA960 /* Pods-FayeSwift_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-FayeSwift_Example.modulemap"; sourceTree = ""; }; - 38A444149F18F886FD0A1E23B45D6671 /* SSLSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SSLSecurity.swift; path = Source/SSLSecurity.swift; sourceTree = ""; }; - 3E94F4BAAE418F28A0730CC56D7FACFF /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 4471A15D81938B6C2CE6A161EC41FEED /* Pods-FayeSwift_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Example-acknowledgements.markdown"; sourceTree = ""; }; - 47C7E36F0C36BF6A9B7F26250E6F35CA /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; - 47C81FB96686C0BE581D0FC3090AFC0D /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; - 4885D84AE492246F7B92A35D5F4C2787 /* Pods-FayeSwift_Example-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Example-resources.sh"; sourceTree = ""; }; - 4AB2D41C9043F185BD735AC2476F72C6 /* Pods-FayeSwift_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.release.xcconfig"; sourceTree = ""; }; - 4E2414E53B957CFF4E6F6E82CECEFA47 /* FayeSubscriptionModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FayeSubscriptionModel.swift; sourceTree = ""; }; - 502DCC2B2A3C577BB0E225CE04E63571 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Tests.framework; path = "Pods-FayeSwift_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 5927E4C39F2970C28F9060D5EDF137B9 /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6B923F40E09322629BC57536AFBDAB00 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; - 6DA424137F7F26626CB88BD77A99423B /* StringExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = StringExtensions.swift; sourceTree = ""; }; - 6DCD25231745CBB7A0DE8AE144F32C35 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; - 6E1FB52B709CB783F4109CA61174C28B /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - 6F23ED994CFBB0F9B07BF334EA7FF240 /* FayeSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FayeSwift-dummy.m"; sourceTree = ""; }; - 6FA9ABBAFE65EA53C5AECD4FEF5902DE /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Example.framework; path = "Pods-FayeSwift_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; - 7B3AAC1CAA0FD33A1665A6CF0609129E /* FayeSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FayeSwift.xcconfig; sourceTree = ""; }; - 7C951632446E53D8608098AA9AE5EDEA /* FayeClientDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FayeClientDelegate.swift; sourceTree = ""; }; - 8617DDEB1D97E8945A823BA19722DD99 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream.framework; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 87D64F48FA18233694918281C87E0266 /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Source/WebSocket.swift; sourceTree = ""; }; - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9A1314F41D4AF302873CCAE4DF95096E /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9C1D30B972C48AC8BD0E88DA4DB9F743 /* FayeSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = FayeSwift.modulemap; sourceTree = ""; }; - AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS10.0.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; - B29C7FFE8D08A56E77C644C03000FC94 /* Pods-FayeSwift_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-acknowledgements.plist"; sourceTree = ""; }; - B3144C4726BB0EB476A794EEFC0B2F26 /* FayeClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = FayeClient.swift; sourceTree = ""; }; - B661AAF1FC01F5B9EB53567F4990C215 /* Pods-FayeSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.debug.xcconfig"; sourceTree = ""; }; - B9AF00E1C38081852D6E23B7C286C779 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - B9BD316B84610E564DEC11C4F736BD36 /* Pods-FayeSwift_Tests-resources.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Tests-resources.sh"; sourceTree = ""; }; - BC51989923EA37E862F09C698F868947 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FayeSwift.framework; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - C0700FD7F6575455C46E83723884C015 /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = Transport.swift; sourceTree = ""; }; - C0DE0C357228154269715152013E357E /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Action.swift"; sourceTree = ""; }; - CFB3E404A66EE13E14582416D200A72C /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - D26B5E2282A330BE919FE4EFDFB738B3 /* Pods-FayeSwift_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.debug.xcconfig"; sourceTree = ""; }; - D3A7795CDA243AB07B1664FEE1544038 /* FayeSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-umbrella.h"; sourceTree = ""; }; - D47E6B74B427A4904D75990D1C34E829 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; - DD6E1ADC55716BEA0CA275460382B07D /* FayeClient+Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Parsing.swift"; sourceTree = ""; }; - DDECAEB5EE9FA1ABB438BF7BFA54A873 /* FayeClient+Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; path = "FayeClient+Transport.swift"; sourceTree = ""; }; - E4E07C18061452192A8755C57422BE93 /* Pods-FayeSwift_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Tests-frameworks.sh"; sourceTree = ""; }; - E6671F9532A947F40918CF9A0D44F70F /* Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; - ED0A84AABA966E6DE908E1D84ABB429E /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = Starscream.modulemap; sourceTree = ""; }; - F3FCAA0DF279AAE5F2E8878F0749DD44 /* Pods-FayeSwift_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; path = "Pods-FayeSwift_Tests.modulemap"; sourceTree = ""; }; + 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FayeSwift.xcconfig; sourceTree = ""; }; + 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Helper.swift"; path = "Sources/FayeClient+Helper.swift"; sourceTree = ""; }; + 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Action.swift"; path = "Sources/FayeClient+Action.swift"; sourceTree = ""; }; + 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationTransport.swift; path = Sources/Transport/FoundationTransport.swift; sourceTree = ""; }; + 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringExtensions.swift; path = Sources/StringExtensions.swift; sourceTree = ""; }; + 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Example.framework; path = "Pods-FayeSwift_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; + 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPServerHandler.swift; path = Sources/Framer/FoundationHTTPServerHandler.swift; sourceTree = ""; }; + 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Security.swift; path = Sources/Security/Security.swift; sourceTree = ""; }; + 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPHandler.swift; path = Sources/Framer/FoundationHTTPHandler.swift; sourceTree = ""; }; + 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = FayeSwift.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 3C4DB29DDFF56CBEA832B464F25EBF18 /* SwiftyJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyJSON-Info.plist"; sourceTree = ""; }; + 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Transport.swift"; path = "Sources/FayeClient+Transport.swift"; sourceTree = ""; }; + 4239408D88CF436217DE67140C09B171 /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport.swift; sourceTree = ""; }; + 4332EFEC58B0E82FBA4FFBF1D8CD44A6 /* FayeSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FayeSwift.modulemap; sourceTree = ""; }; + 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport/Transport.swift; sourceTree = ""; }; + 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeEngine.swift; path = Sources/Engine/NativeEngine.swift; sourceTree = ""; }; + 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClientDelegate.swift; path = Sources/FayeClientDelegate.swift; sourceTree = ""; }; + 4ACEB46250C0224BA1C71DD8289E5BA1 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; + 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationSecurity.swift; path = Sources/Security/FoundationSecurity.swift; sourceTree = ""; }; + 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.release.xcconfig"; sourceTree = ""; }; + 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebsocketTransport.swift; path = Sources/WebsocketTransport.swift; sourceTree = ""; }; + 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Tests-umbrella.h"; sourceTree = ""; }; + 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Subscriptions.swift"; path = "Sources/FayeClient+Subscriptions.swift"; sourceTree = ""; }; + 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON/SwiftyJSON.swift; sourceTree = ""; }; + 5E6CC62AB0D140277E579CE5E18F1508 /* Pods-FayeSwift_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Example-frameworks.sh"; sourceTree = ""; }; + 5F7F3D733E01300A4E277E94D7A39D09 /* Pods-FayeSwift_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Tests-frameworks.sh"; sourceTree = ""; }; + 61A186D3CE6BBEC53C9E22FA3FD7E19D /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; + 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 6E810AE5C04F854E8DFC92ACC290FA50 /* Pods-FayeSwift_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Example-acknowledgements.markdown"; sourceTree = ""; }; + 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Parsing.swift"; path = "Sources/FayeClient+Parsing.swift"; sourceTree = ""; }; + 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Example-dummy.m"; sourceTree = ""; }; + 71526644235E827D44173B4DA305C392 /* Readme.md */ = {isa = PBXFileReference; includeInIndex = 1; path = Readme.md; sourceTree = ""; }; + 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Tests-dummy.m"; sourceTree = ""; }; + 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; + 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClient.swift; path = Sources/FayeClient.swift; sourceTree = ""; }; + 7DAD9B664EF4965431CCE924B1A86027 /* Pods-FayeSwift_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-acknowledgements.plist"; sourceTree = ""; }; + 7DCFC525E0C4FB7B05B9DD90891FD2E9 /* Pods-FayeSwift_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Tests-acknowledgements.markdown"; sourceTree = ""; }; + 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; + 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Tests.framework; path = "Pods-FayeSwift_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Bayuex.swift"; path = "Sources/FayeClient+Bayuex.swift"; sourceTree = ""; }; + 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream.framework; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FrameCollector.swift; path = Sources/Framer/FrameCollector.swift; sourceTree = ""; }; + 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FayeSwift-dummy.m"; sourceTree = ""; }; + 914513F39CD8B4AE7093613132643ABC /* FayeSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FayeSwift-Info.plist"; sourceTree = ""; }; + 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSEngine.swift; path = Sources/Engine/WSEngine.swift; sourceTree = ""; }; + 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.debug.xcconfig"; sourceTree = ""; }; + 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TCPTransport.swift; path = Sources/Transport/TCPTransport.swift; sourceTree = ""; }; + 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Compression/Compression.swift; sourceTree = ""; }; + 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHandler.swift; path = Sources/Framer/HTTPHandler.swift; sourceTree = ""; }; + 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-umbrella.h"; sourceTree = ""; }; + 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FayeSwift.framework; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; + A334613D59552A1553E912C4E2814646 /* Pods-FayeSwift_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-Info.plist"; sourceTree = ""; }; + A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.debug.xcconfig"; sourceTree = ""; }; + A7619E8DC7E2EDC39E19C3D22F298A83 /* Pods-FayeSwift_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-acknowledgements.plist"; sourceTree = ""; }; + ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + ACC1C7B10209A713905FE58E50BFF4F6 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; + B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeSubscriptionModel.swift; path = Sources/FayeSubscriptionModel.swift; sourceTree = ""; }; + B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Example-umbrella.h"; sourceTree = ""; }; + B46A5A95935228E00C289D459B6A52CB /* Pods-FayeSwift_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FayeSwift_Tests.modulemap"; sourceTree = ""; }; + B647A46F2B10AA8E07E8E3E7501A8832 /* License */ = {isa = PBXFileReference; includeInIndex = 1; path = License; sourceTree = ""; }; + BEC86F6E4914D08D02F45B8563B29D66 /* Pods-FayeSwift_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-Info.plist"; sourceTree = ""; }; + BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Framer.swift; path = Sources/Framer/Framer.swift; sourceTree = ""; }; + C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; + C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Engine.swift; path = Sources/Engine/Engine.swift; sourceTree = ""; }; + CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.release.xcconfig"; sourceTree = ""; }; + D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketServer.swift; path = Sources/Server/WebSocketServer.swift; sourceTree = ""; }; + D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSCompression.swift; path = Sources/Compression/WSCompression.swift; sourceTree = ""; }; + E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Server.swift; path = Sources/Server/Server.swift; sourceTree = ""; }; + E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; + E65418FB140C77BE75B9A283CA15DCE7 /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; + E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; + EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; + F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/DataBytes/Data+Extensions.swift"; sourceTree = ""; }; + F27B991812255571739E16170D9D9096 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyJSON.modulemap; sourceTree = ""; }; + F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringHTTPHandler.swift; path = Sources/Framer/StringHTTPHandler.swift; sourceTree = ""; }; + FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSError+Helper.swift"; path = "Sources/NSError+Helper.swift"; sourceTree = ""; }; + FE0C7154FB2910C429E0C8C92035FE9F /* Pods-FayeSwift_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FayeSwift_Example.modulemap"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 4EDDF933F2400C2E4D59159875DE4F19 /* Frameworks */ = { + 6E51509313B97489D45CA53879AE83B6 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 888BD35738BB6F56062233497B82CEA4 /* Foundation.framework in Frameworks */, + 97DA4510146BCEF10BD53BD5CC1459CA /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 55482E57D69A6BEE3AB08D61E8D44F5A /* Frameworks */ = { + 78D91398C910DDF469A29167087A5939 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 16C3627510AB6B698291B30407553A5D /* Foundation.framework in Frameworks */, + 65101ADC15F4CCE85719A1A6E438A35F /* Foundation.framework in Frameworks */, + DD19B0C6316FB9E71A9CF15665A2D2D9 /* Starscream.framework in Frameworks */, + 74AD214F3F2B356268F80DD79EF54C6C /* SwiftyJSON.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 9AE92D03ECEE8678AEF5195F0D5F65A7 /* Frameworks */ = { + B07D86D2D0DF9A5C12E7433AB7E53B4C /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 8F7F7274F17B1CF2A00BED441F5CFD67 /* Foundation.framework in Frameworks */, + 4F3FFB2EBD058878FCE7BECC5CB31523 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - AC8BC9D4F3FD3DEC442EFCF527C2C4B2 /* Frameworks */ = { + C60B5F74066F4476ED3CF495EE1A8649 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 66F8B4E224873FB0B03A14FF6D5055DA /* Foundation.framework in Frameworks */, - DB619B3DA5D1A31A839B17491D9AB6CF /* Starscream.framework in Frameworks */, - 53956DED61FE62732C9218A7A387BC00 /* SwiftyJSON.framework in Frameworks */, + 88B54AC18FE3E221B13D26B428D189B9 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C6EA43D132CFBD43EBC704B9E9E413DF /* Frameworks */ = { + F8B35DEC1CEE6B460BDFE60770E928AB /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 2140E1D04E961AF703FD04D54FF8C740 /* Foundation.framework in Frameworks */, + 7D2A8514AF1C3A71622C4FE05D18E0A6 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 000A61D7F0D0221F20F470656F297E70 /* Targets Support Files */ = { + 0BF2AF36AF7EDC51BA144CC111EDB658 /* FayeSwift */ = { isa = PBXGroup; children = ( - AEC58E9B2FE610C5D55CBB2FA4D34F2A /* Pods-FayeSwift_Example */, - 0A3C1A1DE210D08A1510BD9669BDF551 /* Pods-FayeSwift_Tests */, + 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */, + 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */, + 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */, + 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */, + 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */, + 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */, + 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */, + 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */, + B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */, + FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */, + 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */, + 4239408D88CF436217DE67140C09B171 /* Transport.swift */, + 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */, + 40047F383137CF9AC56349BEA6616949 /* Pod */, + FC2A4AE8D292AB9D5BA8BF8CD5B00B93 /* Support Files */, ); - name = "Targets Support Files"; + name = FayeSwift; + path = ../..; sourceTree = ""; }; - 0A3C1A1DE210D08A1510BD9669BDF551 /* Pods-FayeSwift_Tests */ = { + 30766D3E84E4F5B5C2B022D75830F833 /* SwiftyJSON */ = { isa = PBXGroup; children = ( - 154C747E02B1DCBD4885645B5878477F /* Info.plist */, - F3FCAA0DF279AAE5F2E8878F0749DD44 /* Pods-FayeSwift_Tests.modulemap */, - 2D4EF06156597B9C0C9800347C3343FC /* Pods-FayeSwift_Tests-acknowledgements.markdown */, - 15765D47A6F3AC9E1A1D641D8B2ADB93 /* Pods-FayeSwift_Tests-acknowledgements.plist */, - 1DCE2224000629085D044E4A5FDB2710 /* Pods-FayeSwift_Tests-dummy.m */, - E4E07C18061452192A8755C57422BE93 /* Pods-FayeSwift_Tests-frameworks.sh */, - B9BD316B84610E564DEC11C4F736BD36 /* Pods-FayeSwift_Tests-resources.sh */, - 10E4A21EDDC41F94B30C17F38403E413 /* Pods-FayeSwift_Tests-umbrella.h */, - D26B5E2282A330BE919FE4EFDFB738B3 /* Pods-FayeSwift_Tests.debug.xcconfig */, - 4AB2D41C9043F185BD735AC2476F72C6 /* Pods-FayeSwift_Tests.release.xcconfig */, + 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */, + 68AB257207B5C4A2FCF34E7C13E6A678 /* Support Files */, ); - name = "Pods-FayeSwift_Tests"; - path = "Target Support Files/Pods-FayeSwift_Tests"; + name = SwiftyJSON; + path = SwiftyJSON; sourceTree = ""; }; - 0C03422930E80D7BB92C5C859589F09F /* Pods */ = { + 40047F383137CF9AC56349BEA6616949 /* Pod */ = { isa = PBXGroup; children = ( - B60722EF6A0F9DCD2D7C6D03F8B362CD /* Starscream */, - 48BC61B70DBB2FA057A57FF358488F76 /* SwiftyJSON */, + 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */, + B647A46F2B10AA8E07E8E3E7501A8832 /* License */, + 71526644235E827D44173B4DA305C392 /* Readme.md */, ); - name = Pods; + name = Pod; sourceTree = ""; }; - 0DB5BD81DCAEB161F8916282ABFD3340 /* Frameworks */ = { + 654C335B770E0E274747D663493D3A57 /* Support Files */ = { isa = PBXGroup; children = ( - 3E94F4BAAE418F28A0730CC56D7FACFF /* Starscream.framework */, - 9A1314F41D4AF302873CCAE4DF95096E /* SwiftyJSON.framework */, - FD9348BF3D0247517870C91A35D015B9 /* iOS */, + ACC1C7B10209A713905FE58E50BFF4F6 /* Starscream.modulemap */, + EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */, + C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */, + E65418FB140C77BE75B9A283CA15DCE7 /* Starscream-Info.plist */, + 4ACEB46250C0224BA1C71DD8289E5BA1 /* Starscream-prefix.pch */, + 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */, ); - name = Frameworks; + name = "Support Files"; + path = "../Target Support Files/Starscream"; sourceTree = ""; }; - 142346D50CBE4F37FCCAE9D64C36FDC1 /* Products */ = { + 6563A60F5A5BF11CB0170B4878038DFF /* Pods-FayeSwift_Example */ = { isa = PBXGroup; children = ( - BC51989923EA37E862F09C698F868947 /* FayeSwift.framework */, - 6FA9ABBAFE65EA53C5AECD4FEF5902DE /* Pods_FayeSwift_Example.framework */, - 502DCC2B2A3C577BB0E225CE04E63571 /* Pods_FayeSwift_Tests.framework */, - 8617DDEB1D97E8945A823BA19722DD99 /* Starscream.framework */, - B9AF00E1C38081852D6E23B7C286C779 /* SwiftyJSON.framework */, + FE0C7154FB2910C429E0C8C92035FE9F /* Pods-FayeSwift_Example.modulemap */, + 6E810AE5C04F854E8DFC92ACC290FA50 /* Pods-FayeSwift_Example-acknowledgements.markdown */, + A7619E8DC7E2EDC39E19C3D22F298A83 /* Pods-FayeSwift_Example-acknowledgements.plist */, + 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */, + 5E6CC62AB0D140277E579CE5E18F1508 /* Pods-FayeSwift_Example-frameworks.sh */, + BEC86F6E4914D08D02F45B8563B29D66 /* Pods-FayeSwift_Example-Info.plist */, + B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */, + A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */, + CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */, ); - name = Products; + name = "Pods-FayeSwift_Example"; + path = "Target Support Files/Pods-FayeSwift_Example"; sourceTree = ""; }; - 1F6C69005CE5773E87D416DED050CEA8 /* Development Pods */ = { + 68AB257207B5C4A2FCF34E7C13E6A678 /* Support Files */ = { isa = PBXGroup; children = ( - 7BECE1B843E487DAEB4272B5E771533E /* FayeSwift */, + F27B991812255571739E16170D9D9096 /* SwiftyJSON.modulemap */, + 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */, + E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */, + 3C4DB29DDFF56CBEA832B464F25EBF18 /* SwiftyJSON-Info.plist */, + 61A186D3CE6BBEC53C9E22FA3FD7E19D /* SwiftyJSON-prefix.pch */, + E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */, ); - name = "Development Pods"; + name = "Support Files"; + path = "../Target Support Files/SwiftyJSON"; sourceTree = ""; }; - 48BC61B70DBB2FA057A57FF358488F76 /* SwiftyJSON */ = { + 85422BCB99D41B108592CBC36D07C319 /* Pods-FayeSwift_Tests */ = { isa = PBXGroup; children = ( - 0813DA1F91E6465D940389B245DB41E4 /* SwiftyJSON.swift */, - 9BE8F84C840D474BB60E62D4A8259C63 /* Support Files */, + B46A5A95935228E00C289D459B6A52CB /* Pods-FayeSwift_Tests.modulemap */, + 7DCFC525E0C4FB7B05B9DD90891FD2E9 /* Pods-FayeSwift_Tests-acknowledgements.markdown */, + 7DAD9B664EF4965431CCE924B1A86027 /* Pods-FayeSwift_Tests-acknowledgements.plist */, + 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */, + 5F7F3D733E01300A4E277E94D7A39D09 /* Pods-FayeSwift_Tests-frameworks.sh */, + A334613D59552A1553E912C4E2814646 /* Pods-FayeSwift_Tests-Info.plist */, + 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */, + 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */, + 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */, ); - name = SwiftyJSON; - path = SwiftyJSON; + name = "Pods-FayeSwift_Tests"; + path = "Target Support Files/Pods-FayeSwift_Tests"; sourceTree = ""; }; - 57072CFE2F97B4E7645A18D9267BA425 /* Support Files */ = { + A3762543793836511D559E05A4FF4E9F /* Development Pods */ = { isa = PBXGroup; children = ( - CFB3E404A66EE13E14582416D200A72C /* Info.plist */, - ED0A84AABA966E6DE908E1D84ABB429E /* Starscream.modulemap */, - 47C81FB96686C0BE581D0FC3090AFC0D /* Starscream.xcconfig */, - 18C6718FA411202146721CBD6539BA6A /* Starscream-dummy.m */, - 47C7E36F0C36BF6A9B7F26250E6F35CA /* Starscream-prefix.pch */, - D47E6B74B427A4904D75990D1C34E829 /* Starscream-umbrella.h */, + 0BF2AF36AF7EDC51BA144CC111EDB658 /* FayeSwift */, ); - name = "Support Files"; - path = "../Target Support Files/Starscream"; + name = "Development Pods"; sourceTree = ""; }; - 7BECE1B843E487DAEB4272B5E771533E /* FayeSwift */ = { + AADEC59BC2C46A2EB4239F071A12322F /* Targets Support Files */ = { isa = PBXGroup; children = ( - 8036FC47B43C006D2E5847AA468D6316 /* Sources */, - 9ACEECA4EA200705374D27971C0A3EAE /* Support Files */, + 6563A60F5A5BF11CB0170B4878038DFF /* Pods-FayeSwift_Example */, + 85422BCB99D41B108592CBC36D07C319 /* Pods-FayeSwift_Tests */, ); - name = FayeSwift; - path = ../..; + name = "Targets Support Files"; sourceTree = ""; }; - 7DB346D0F39D3F0E887471402A8071AB = { + B790EF8E7CC4CAAC5C6FE7555D513C65 /* Starscream */ = { isa = PBXGroup; children = ( - 93A4A3777CF96A4AAC1D13BA6DCCEA73 /* Podfile */, - 1F6C69005CE5773E87D416DED050CEA8 /* Development Pods */, - 0DB5BD81DCAEB161F8916282ABFD3340 /* Frameworks */, - 0C03422930E80D7BB92C5C859589F09F /* Pods */, - 142346D50CBE4F37FCCAE9D64C36FDC1 /* Products */, - 000A61D7F0D0221F20F470656F297E70 /* Targets Support Files */, + 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */, + F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */, + CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */, + 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */, + 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */, + 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */, + 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */, + 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */, + BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */, + 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */, + 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */, + 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */, + E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */, + F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */, + 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */, + 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */, + 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */, + D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */, + D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */, + 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */, + 654C335B770E0E274747D663493D3A57 /* Support Files */, ); + name = Starscream; + path = Starscream; sourceTree = ""; }; - 8036FC47B43C006D2E5847AA468D6316 /* Sources */ = { + CB1BBFCAB1161547233ABDD1062A1F53 /* Products */ = { isa = PBXGroup; children = ( - B3144C4726BB0EB476A794EEFC0B2F26 /* FayeClient.swift */, - C0DE0C357228154269715152013E357E /* FayeClient+Action.swift */, - 00691AB4D533EDE30C5370EEE0AE7074 /* FayeClient+Bayuex.swift */, - 040DEA860EC7FF25C6B8F9F0C5AE8073 /* FayeClient+Helper.swift */, - DD6E1ADC55716BEA0CA275460382B07D /* FayeClient+Parsing.swift */, - 0AC895133B34E9D0675395BA526347A6 /* FayeClient+Subscriptions.swift */, - DDECAEB5EE9FA1ABB438BF7BFA54A873 /* FayeClient+Transport.swift */, - 7C951632446E53D8608098AA9AE5EDEA /* FayeClientDelegate.swift */, - 4E2414E53B957CFF4E6F6E82CECEFA47 /* FayeSubscriptionModel.swift */, - 24295EB91477AACF5542D54C350C5715 /* NSError+Helper.swift */, - 6DA424137F7F26626CB88BD77A99423B /* StringExtensions.swift */, - C0700FD7F6575455C46E83723884C015 /* Transport.swift */, - 0DA092BAC435FAC54B26652A4967BBC2 /* WebsocketTransport.swift */, + 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */, + 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */, + 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */, + 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */, + E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */, ); - name = Sources; - path = Sources; + name = Products; sourceTree = ""; }; - 9ACEECA4EA200705374D27971C0A3EAE /* Support Files */ = { + CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( - 9C1D30B972C48AC8BD0E88DA4DB9F743 /* FayeSwift.modulemap */, - 7B3AAC1CAA0FD33A1665A6CF0609129E /* FayeSwift.xcconfig */, - 6F23ED994CFBB0F9B07BF334EA7FF240 /* FayeSwift-dummy.m */, - 01718434A0A3E9C872093B738FC33F54 /* FayeSwift-prefix.pch */, - D3A7795CDA243AB07B1664FEE1544038 /* FayeSwift-umbrella.h */, - 5927E4C39F2970C28F9060D5EDF137B9 /* Info.plist */, + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, + A3762543793836511D559E05A4FF4E9F /* Development Pods */, + E3E72319A78626B3AF9B593F1E512E66 /* Frameworks */, + EAC52A2681AD500197BE49D61C92AC0D /* Pods */, + CB1BBFCAB1161547233ABDD1062A1F53 /* Products */, + AADEC59BC2C46A2EB4239F071A12322F /* Targets Support Files */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/FayeSwift"; sourceTree = ""; }; - 9BE8F84C840D474BB60E62D4A8259C63 /* Support Files */ = { + E361081A39C3319842F67AE805995D4E /* iOS */ = { isa = PBXGroup; children = ( - E6671F9532A947F40918CF9A0D44F70F /* Info.plist */, - 2A14E4E75C0921B8190FF7805BDB1994 /* SwiftyJSON.modulemap */, - 1EC0280E5CCCCD96F81E63B562E157DD /* SwiftyJSON.xcconfig */, - 6DCD25231745CBB7A0DE8AE144F32C35 /* SwiftyJSON-dummy.m */, - 0F0AD0445D068E37E1C8498A3BF6150D /* SwiftyJSON-prefix.pch */, - 6B923F40E09322629BC57536AFBDAB00 /* SwiftyJSON-umbrella.h */, + 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */, ); - name = "Support Files"; - path = "../Target Support Files/SwiftyJSON"; + name = iOS; sourceTree = ""; }; - AEC58E9B2FE610C5D55CBB2FA4D34F2A /* Pods-FayeSwift_Example */ = { + E3E72319A78626B3AF9B593F1E512E66 /* Frameworks */ = { isa = PBXGroup; children = ( - 6E1FB52B709CB783F4109CA61174C28B /* Info.plist */, - 37D9B4C012C932EED434E89C515FA960 /* Pods-FayeSwift_Example.modulemap */, - 4471A15D81938B6C2CE6A161EC41FEED /* Pods-FayeSwift_Example-acknowledgements.markdown */, - B29C7FFE8D08A56E77C644C03000FC94 /* Pods-FayeSwift_Example-acknowledgements.plist */, - 2FE9E957D59ADA0A662E4B8C1A7BD7E2 /* Pods-FayeSwift_Example-dummy.m */, - 14B7C4FE824293ABEEF592A7E71C4AFC /* Pods-FayeSwift_Example-frameworks.sh */, - 4885D84AE492246F7B92A35D5F4C2787 /* Pods-FayeSwift_Example-resources.sh */, - 06B16C30B7CF62C246F4DD2B6BA325D2 /* Pods-FayeSwift_Example-umbrella.h */, - B661AAF1FC01F5B9EB53567F4990C215 /* Pods-FayeSwift_Example.debug.xcconfig */, - 2692C5A026D6876DF0B8ED238232F2E6 /* Pods-FayeSwift_Example.release.xcconfig */, + ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */, + C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */, + E361081A39C3319842F67AE805995D4E /* iOS */, ); - name = "Pods-FayeSwift_Example"; - path = "Target Support Files/Pods-FayeSwift_Example"; + name = Frameworks; sourceTree = ""; }; - B60722EF6A0F9DCD2D7C6D03F8B362CD /* Starscream */ = { + EAC52A2681AD500197BE49D61C92AC0D /* Pods */ = { isa = PBXGroup; children = ( - 38A444149F18F886FD0A1E23B45D6671 /* SSLSecurity.swift */, - 87D64F48FA18233694918281C87E0266 /* WebSocket.swift */, - 57072CFE2F97B4E7645A18D9267BA425 /* Support Files */, + B790EF8E7CC4CAAC5C6FE7555D513C65 /* Starscream */, + 30766D3E84E4F5B5C2B022D75830F833 /* SwiftyJSON */, ); - name = Starscream; - path = Starscream; + name = Pods; sourceTree = ""; }; - FD9348BF3D0247517870C91A35D015B9 /* iOS */ = { + FC2A4AE8D292AB9D5BA8BF8CD5B00B93 /* Support Files */ = { isa = PBXGroup; children = ( - AF83ABEF1A458CAE5372C3E2E46D918F /* Foundation.framework */, + 4332EFEC58B0E82FBA4FFBF1D8CD44A6 /* FayeSwift.modulemap */, + 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */, + 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */, + 914513F39CD8B4AE7093613132643ABC /* FayeSwift-Info.plist */, + 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */, + 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */, ); - name = iOS; + name = "Support Files"; + path = "Example/Pods/Target Support Files/FayeSwift"; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 2FC285EE7B23BCF4838AE10E22CF15F1 /* Headers */ = { + 250C2D38CD5700967B320BCE882D223F /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 026017E12DAB48A922244C71A63253D0 /* Starscream-umbrella.h in Headers */, + 5B0CD91FE8FAC97D47C421C11DAA0422 /* FayeSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5699FAC57A3070BF159F2901B70EBFDA /* Headers */ = { + 6B8DEE41A4E3D722F7A5401A457CB358 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - AC29BC38767C449B4173F44C53632135 /* Pods-FayeSwift_Tests-umbrella.h in Headers */, + 99CABBFF5653DCB301C355A857599B58 /* SwiftyJSON-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 5A448ADB59E0771F30851C17B3AC70A9 /* Headers */ = { + 8958001054F2B2D469FE2AC845996A42 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 12A2D6DEF558554F285FBB6A2196E202 /* Pods-FayeSwift_Example-umbrella.h in Headers */, + 85C2B16BF2F5A22ACB57013708514FC2 /* Starscream-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - BD236EDC7B51F8AE166BA91FADC49449 /* Headers */ = { + B2EC5A947F2079BEC2B28CE4B32FA566 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 630775D47B4762F060BF09A7AD3AD9F2 /* SwiftyJSON-umbrella.h in Headers */, + 7A01B7C3FFA07FB1B99E7766CD20DFAA /* Pods-FayeSwift_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - D21C478503F6EB3CC30702FFC62C1545 /* Headers */ = { + DBDC11BE5E8C3F188EEA96CEA1A00BC6 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 5C79AABB8B872CDFC3596A03DA50F50F /* FayeSwift-umbrella.h in Headers */, + 26D0D7BAFEB2991FF2645D209ADE0BC3 /* Pods-FayeSwift_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXHeadersBuildPhase section */ /* Begin PBXNativeTarget section */ - 5C1F57BFFCD92868AF3442E38186A537 /* SwiftyJSON */ = { + 46036F5F450724505F8F5A3535561A93 /* Pods-FayeSwift_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = D7B51E188C37F41CEC46650465F4DA2E /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; + buildConfigurationList = 92CE793E190A4CB79F9EE04FEEFE16FD /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */; buildPhases = ( - 14562C9FE587649D1E1A8ECCC1121CB6 /* Sources */, - 9AE92D03ECEE8678AEF5195F0D5F65A7 /* Frameworks */, - BD236EDC7B51F8AE166BA91FADC49449 /* Headers */, + DBDC11BE5E8C3F188EEA96CEA1A00BC6 /* Headers */, + C30301AEA2DCA5DD2FC607A58E99A0A8 /* Sources */, + F8B35DEC1CEE6B460BDFE60770E928AB /* Frameworks */, + EB8B1DAE4E79045A142597C4E5047C0F /* Resources */, ); buildRules = ( ); dependencies = ( + 7230AEF5B5D5A25A2F7CC7B486B751E1 /* PBXTargetDependency */, + DB9CB4192C3BAEB984EA576B1C796F3E /* PBXTargetDependency */, + 64C5B360762037EC80DB6C7BAAFA3D99 /* PBXTargetDependency */, ); - name = SwiftyJSON; - productName = SwiftyJSON; - productReference = B9AF00E1C38081852D6E23B7C286C779 /* SwiftyJSON.framework */; + name = "Pods-FayeSwift_Example"; + productName = "Pods-FayeSwift_Example"; + productReference = 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */; productType = "com.apple.product-type.framework"; }; - 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D /* FayeSwift */ = { + 5E551DD8B190AB276724C510971C365C /* FayeSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 3BC677F1AB4B06206649C8ADA8DD1440 /* Build configuration list for PBXNativeTarget "FayeSwift" */; + buildConfigurationList = 401A35C3B8F4524E534F5AF43DF7FD01 /* Build configuration list for PBXNativeTarget "FayeSwift" */; buildPhases = ( - 3DE001A80C8B89B645180EEA8628E7AC /* Sources */, - AC8BC9D4F3FD3DEC442EFCF527C2C4B2 /* Frameworks */, - D21C478503F6EB3CC30702FFC62C1545 /* Headers */, + 250C2D38CD5700967B320BCE882D223F /* Headers */, + BB45C3174DC438ECCBB37C1B6E9BF19B /* Sources */, + 78D91398C910DDF469A29167087A5939 /* Frameworks */, + FDDF3494F0A5EA50D141860CB110E52D /* Resources */, ); buildRules = ( ); dependencies = ( - 1C30892F0FF517727036E27CDF81C663 /* PBXTargetDependency */, - 0B624098DDC63EDF2E66E333C47201F1 /* PBXTargetDependency */, + E260F2A103167C679FC9DB55176D5F4F /* PBXTargetDependency */, + C4DEEE3CB6E159A9250950E7D872046E /* PBXTargetDependency */, ); name = FayeSwift; productName = FayeSwift; - productReference = BC51989923EA37E862F09C698F868947 /* FayeSwift.framework */; + productReference = 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */; productType = "com.apple.product-type.framework"; }; - 90E7E0DDBF3230E4EE01FAA926FC8C1C /* Pods-FayeSwift_Example */ = { + 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */ = { isa = PBXNativeTarget; - buildConfigurationList = 2C37015467BCB2CAD2C5683C1D3C7897 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */; + buildConfigurationList = 42D005F3EC3848C7036D975473A0B599 /* Build configuration list for PBXNativeTarget "Starscream" */; buildPhases = ( - A2EEF6DF48EB857F89E15025ADB08D0C /* Sources */, - 55482E57D69A6BEE3AB08D61E8D44F5A /* Frameworks */, - 5A448ADB59E0771F30851C17B3AC70A9 /* Headers */, + 8958001054F2B2D469FE2AC845996A42 /* Headers */, + 82F5E749CB23C9695CB98119AFAA9CF7 /* Sources */, + 6E51509313B97489D45CA53879AE83B6 /* Frameworks */, + 1FEAE774856B8E9DA235365984A12325 /* Resources */, ); buildRules = ( ); dependencies = ( - 513B4CE355F9033A8A9BBC57A2C7FFD1 /* PBXTargetDependency */, - 543AAD42A1D98CF875D74C50362FEC99 /* PBXTargetDependency */, - 2434201F5B0A7997E2922AE89413EEE1 /* PBXTargetDependency */, ); - name = "Pods-FayeSwift_Example"; - productName = "Pods-FayeSwift_Example"; - productReference = 6FA9ABBAFE65EA53C5AECD4FEF5902DE /* Pods_FayeSwift_Example.framework */; + name = Starscream; + productName = Starscream; + productReference = 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */; productType = "com.apple.product-type.framework"; }; - BC253BAFB43EC448547D4A2394ACD810 /* Pods-FayeSwift_Tests */ = { + D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */ = { isa = PBXNativeTarget; - buildConfigurationList = 81D03CD0D35971BA49F91CC378F0381D /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */; + buildConfigurationList = F729EFA373196875F38F5325B7B83897 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; buildPhases = ( - 64B715524D7BA41EE9474DB446B5E935 /* Sources */, - C6EA43D132CFBD43EBC704B9E9E413DF /* Frameworks */, - 5699FAC57A3070BF159F2901B70EBFDA /* Headers */, + 6B8DEE41A4E3D722F7A5401A457CB358 /* Headers */, + 6B2AB3B6BD3E620BF898D8A606FDC208 /* Sources */, + C60B5F74066F4476ED3CF495EE1A8649 /* Frameworks */, + BA17E256F0AC109369BE2D434570C704 /* Resources */, ); buildRules = ( ); dependencies = ( - 37304380EF1AE699643886697C6B633D /* PBXTargetDependency */, - E42065487BF3D5CC9F09CB18C7F14F01 /* PBXTargetDependency */, - 57B2902E0642C8E5BA1F9DADFE441377 /* PBXTargetDependency */, ); - name = "Pods-FayeSwift_Tests"; - productName = "Pods-FayeSwift_Tests"; - productReference = 502DCC2B2A3C577BB0E225CE04E63571 /* Pods_FayeSwift_Tests.framework */; + name = SwiftyJSON; + productName = SwiftyJSON; + productReference = E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */; productType = "com.apple.product-type.framework"; }; - BCC8AE0600D381881B2B45F29D3A3294 /* Starscream */ = { + D363A9BDF4C1ECA78CDF5B83FC9C13F0 /* Pods-FayeSwift_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = E86FDF27E9DCFAAFE67D7E62F35E9AB0 /* Build configuration list for PBXNativeTarget "Starscream" */; + buildConfigurationList = D837C3410A68BB77EACA27DD71189414 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */; buildPhases = ( - E9E1339796C8B15F79531589B9E53575 /* Sources */, - 4EDDF933F2400C2E4D59159875DE4F19 /* Frameworks */, - 2FC285EE7B23BCF4838AE10E22CF15F1 /* Headers */, + B2EC5A947F2079BEC2B28CE4B32FA566 /* Headers */, + 6B17BBAFCFC87CEFEBBCA0135CE47C82 /* Sources */, + B07D86D2D0DF9A5C12E7433AB7E53B4C /* Frameworks */, + C8CE6D8E64F85F4CD573C4B1B5D1F1D1 /* Resources */, ); buildRules = ( ); dependencies = ( + 67EB9351DFE3C2E9DA971B723BA4865D /* PBXTargetDependency */, + B1E8BFCB48DDBD8475AA24CCB92204C4 /* PBXTargetDependency */, + 22E504E28A10C4398709B34D180FA8C9 /* PBXTargetDependency */, ); - name = Starscream; - productName = Starscream; - productReference = 8617DDEB1D97E8945A823BA19722DD99 /* Starscream.framework */; + name = "Pods-FayeSwift_Tests"; + productName = "Pods-FayeSwift_Tests"; + productReference = 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */; productType = "com.apple.product-type.framework"; }; /* End PBXNativeTarget section */ /* Begin PBXProject section */ - D41D8CD98F00B204E9800998ECF8427E /* Project object */ = { + BFDFE7DC352907FC980B868725387E98 /* Project object */ = { isa = PBXProject; attributes = { - LastSwiftUpdateCheck = 0730; - LastUpgradeCheck = 0700; + LastSwiftUpdateCheck = 1100; + LastUpgradeCheck = 1100; }; - buildConfigurationList = 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */; + buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( en, + Base, ); - mainGroup = 7DB346D0F39D3F0E887471402A8071AB; - productRefGroup = 142346D50CBE4F37FCCAE9D64C36FDC1 /* Products */; + mainGroup = CF1408CF629C7361332E53B88F7BD30C; + productRefGroup = CB1BBFCAB1161547233ABDD1062A1F53 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( - 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D /* FayeSwift */, - 90E7E0DDBF3230E4EE01FAA926FC8C1C /* Pods-FayeSwift_Example */, - BC253BAFB43EC448547D4A2394ACD810 /* Pods-FayeSwift_Tests */, - BCC8AE0600D381881B2B45F29D3A3294 /* Starscream */, - 5C1F57BFFCD92868AF3442E38186A537 /* SwiftyJSON */, + 5E551DD8B190AB276724C510971C365C /* FayeSwift */, + 46036F5F450724505F8F5A3535561A93 /* Pods-FayeSwift_Example */, + D363A9BDF4C1ECA78CDF5B83FC9C13F0 /* Pods-FayeSwift_Tests */, + 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */, + D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */, ); }; /* End PBXProject section */ +/* Begin PBXResourcesBuildPhase section */ + 1FEAE774856B8E9DA235365984A12325 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + BA17E256F0AC109369BE2D434570C704 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + C8CE6D8E64F85F4CD573C4B1B5D1F1D1 /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + EB8B1DAE4E79045A142597C4E5047C0F /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; + FDDF3494F0A5EA50D141860CB110E52D /* Resources */ = { + isa = PBXResourcesBuildPhase; + buildActionMask = 2147483647; + files = ( + ); + runOnlyForDeploymentPostprocessing = 0; + }; +/* End PBXResourcesBuildPhase section */ + /* Begin PBXSourcesBuildPhase section */ - 14562C9FE587649D1E1A8ECCC1121CB6 /* Sources */ = { + 6B17BBAFCFC87CEFEBBCA0135CE47C82 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 01491BBA557B2F18B2A77192743E3E55 /* SwiftyJSON-dummy.m in Sources */, - C96024BA34EFE5DFB81CAA301E6CBF9D /* SwiftyJSON.swift in Sources */, + 7865C7456AC8DDA986065CB404EBD506 /* Pods-FayeSwift_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 3DE001A80C8B89B645180EEA8628E7AC /* Sources */ = { + 6B2AB3B6BD3E620BF898D8A606FDC208 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - EA58C7FB9E131FA20044D726C8634078 /* FayeClient+Action.swift in Sources */, - D82013AA00D169E2324113D1EA177494 /* FayeClient+Bayuex.swift in Sources */, - BD0EEEBB061534E4B0AA21C29937F7E9 /* FayeClient+Helper.swift in Sources */, - 1AF8A2644E64066D72B7AE1ED35E042E /* FayeClient+Parsing.swift in Sources */, - F9073136443690E223D545CD2FF138B0 /* FayeClient+Subscriptions.swift in Sources */, - 2641943D2AB25D845A907E751D0D4A0E /* FayeClient+Transport.swift in Sources */, - 9590095A7427348F72D50958E6DF569D /* FayeClient.swift in Sources */, - 372A1E8811704945874EB18F7BD1309F /* FayeClientDelegate.swift in Sources */, - DF00F790990FE2A87CACDD519DA5FAA2 /* FayeSubscriptionModel.swift in Sources */, - 97E28C082763F8A1B9DF116332FE45A5 /* FayeSwift-dummy.m in Sources */, - D7C3BD0F56BE895E0425738268F11494 /* NSError+Helper.swift in Sources */, - 4395CC6B51E36E7FA9DF24986CB85D58 /* StringExtensions.swift in Sources */, - F13620786093149885BC1C94F8AE9FB9 /* Transport.swift in Sources */, - B715F8A02147DC9AF882D4E8B8CA03A5 /* WebsocketTransport.swift in Sources */, + 5FB5546CB2F4BAA36E9A2146FB4D75DB /* SwiftyJSON-dummy.m in Sources */, + B471CF5E4D5068291D4CC54CBF89E964 /* SwiftyJSON.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 64B715524D7BA41EE9474DB446B5E935 /* Sources */ = { + 82F5E749CB23C9695CB98119AFAA9CF7 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 603A236E27FDBCDDDC245C7949FAC4AB /* Pods-FayeSwift_Tests-dummy.m in Sources */, + 93524EF16C1EA133AD0893B6FF138B30 /* Compression.swift in Sources */, + 371AE48204C97C939981924FBB3E3C70 /* Data+Extensions.swift in Sources */, + F51ECAF8CB23CF31DF912528E378BC81 /* Engine.swift in Sources */, + F8849D114B30E7BD395FE77F7A60CFDB /* FoundationHTTPHandler.swift in Sources */, + 90F965102E8A76F689A8E19C2463FB3B /* FoundationHTTPServerHandler.swift in Sources */, + 74C67375E014FEE93E343794C340DAE4 /* FoundationSecurity.swift in Sources */, + 5DF3DF5AB474D53CAFC036C1CB4B4B66 /* FoundationTransport.swift in Sources */, + 8D64DF55AB5B232EEA58818B56EBE442 /* FrameCollector.swift in Sources */, + 35628E6BE1E430358FD214EB19AF2E38 /* Framer.swift in Sources */, + FE7EFFB6A9757806696A3CD416946F74 /* HTTPHandler.swift in Sources */, + A100344FC632242FDEAA4BFC0FC01534 /* NativeEngine.swift in Sources */, + 7A8AA475862499E7D1525843B24CAA1E /* Security.swift in Sources */, + 3D40950A2A032BF1E7C484F9F74A2A27 /* Server.swift in Sources */, + FB26CA8C3B66AD625A24452C4065D05E /* Starscream-dummy.m in Sources */, + 1F3635C339655885D10797FC8ABD7E8A /* StringHTTPHandler.swift in Sources */, + 7F969E29E261561AEA1DECCD39F67B60 /* TCPTransport.swift in Sources */, + A29DCC96E5AB5067E8BED0CFD06FA96B /* Transport.swift in Sources */, + D4BB4F9AF3D954C2245DDC091A7033C5 /* WebSocket.swift in Sources */, + 3E0613C79EDFB2F6526B335205C961D2 /* WebSocketServer.swift in Sources */, + 1E50A2A08E2D38A9DE964FF9AA2422D3 /* WSCompression.swift in Sources */, + 138B028F2781F34FC2CB743BA8963FA8 /* WSEngine.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - A2EEF6DF48EB857F89E15025ADB08D0C /* Sources */ = { + BB45C3174DC438ECCBB37C1B6E9BF19B /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 819CD987E43CF9B00A0BE165B3144C21 /* Pods-FayeSwift_Example-dummy.m in Sources */, + 893EA64D6F55C8DA8ED037570777326E /* FayeClient+Action.swift in Sources */, + C174E2114D6ABFF21E319E9888DB4748 /* FayeClient+Bayuex.swift in Sources */, + C02A130EB04E7E29FC9A3EE23466800C /* FayeClient+Helper.swift in Sources */, + 7404C01D26E709ECEA13C96FC15D75EB /* FayeClient+Parsing.swift in Sources */, + CEA89811A22FE7A4CE7A1BC79A130B1D /* FayeClient+Subscriptions.swift in Sources */, + D9145515CFF4ED198150DDB0C292AC93 /* FayeClient+Transport.swift in Sources */, + C23A7A32046CDBACD4A677F7BDAA5277 /* FayeClient.swift in Sources */, + C154B9ECABD19498F2889B7FBA47BB47 /* FayeClientDelegate.swift in Sources */, + BFF0B7845AD87F28D8FA3B9D2B209A26 /* FayeSubscriptionModel.swift in Sources */, + 45C838EF6C400BF9A4FA6330DCA8FF98 /* FayeSwift-dummy.m in Sources */, + 62FCD7F0DA368198F57272D1682DD66A /* NSError+Helper.swift in Sources */, + 9A53B97806A9E67FEFEB65DEB5588FFA /* StringExtensions.swift in Sources */, + 52C2F5AA0D179F742394477ECF98BBFD /* Transport.swift in Sources */, + 1EBC62F41CC90D12AFBF45BA5FCD976E /* WebsocketTransport.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - E9E1339796C8B15F79531589B9E53575 /* Sources */ = { + C30301AEA2DCA5DD2FC607A58E99A0A8 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - B4F045C4EB5BA94B75966419EB72662A /* SSLSecurity.swift in Sources */, - FED7F96749B4ACB6DAF206513C945CA9 /* Starscream-dummy.m in Sources */, - A3F622749F008AB61E99EF439E3B7551 /* WebSocket.swift in Sources */, + D9BF66AB4DA1FE122DE361C31ED25D69 /* Pods-FayeSwift_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 0B624098DDC63EDF2E66E333C47201F1 /* PBXTargetDependency */ = { + 22E504E28A10C4398709B34D180FA8C9 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftyJSON; - target = 5C1F57BFFCD92868AF3442E38186A537 /* SwiftyJSON */; - targetProxy = 0E2E944578DFD11725AE03E57A2F5E40 /* PBXContainerItemProxy */; - }; - 1C30892F0FF517727036E27CDF81C663 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = Starscream; - target = BCC8AE0600D381881B2B45F29D3A3294 /* Starscream */; - targetProxy = 27129EF77D9CAC29F1151EC75DB48940 /* PBXContainerItemProxy */; + target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; + targetProxy = 1FAF7891B919F509D3138ED028A6BD86 /* PBXContainerItemProxy */; }; - 2434201F5B0A7997E2922AE89413EEE1 /* PBXTargetDependency */ = { + 64C5B360762037EC80DB6C7BAAFA3D99 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftyJSON; - target = 5C1F57BFFCD92868AF3442E38186A537 /* SwiftyJSON */; - targetProxy = EF2196CF5D21430C9E4A6BAD3F790A0F /* PBXContainerItemProxy */; + target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; + targetProxy = 4FDADCE46294D8AFCFF8EE03B8B981FB /* PBXContainerItemProxy */; }; - 37304380EF1AE699643886697C6B633D /* PBXTargetDependency */ = { + 67EB9351DFE3C2E9DA971B723BA4865D /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = FayeSwift; - target = 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D /* FayeSwift */; - targetProxy = 663722FA80FCCEA51B761DBCF6962820 /* PBXContainerItemProxy */; + target = 5E551DD8B190AB276724C510971C365C /* FayeSwift */; + targetProxy = FC8E37B47A0BE401399B207B9C53A0DF /* PBXContainerItemProxy */; }; - 513B4CE355F9033A8A9BBC57A2C7FFD1 /* PBXTargetDependency */ = { + 7230AEF5B5D5A25A2F7CC7B486B751E1 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = FayeSwift; - target = 5C48D6CAB4FBFA5BB8EFCD0C0947DF9D /* FayeSwift */; - targetProxy = 5C2824D1A9A59FC7E0807982E563883C /* PBXContainerItemProxy */; + target = 5E551DD8B190AB276724C510971C365C /* FayeSwift */; + targetProxy = ECA15882AE9508D7355A32ED35005A38 /* PBXContainerItemProxy */; }; - 543AAD42A1D98CF875D74C50362FEC99 /* PBXTargetDependency */ = { + B1E8BFCB48DDBD8475AA24CCB92204C4 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; - target = BCC8AE0600D381881B2B45F29D3A3294 /* Starscream */; - targetProxy = B4F58B425B8A192B0B43228D5BBD2FEF /* PBXContainerItemProxy */; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 1421504D71EC0462FF0F6C4BEA7A0E1A /* PBXContainerItemProxy */; }; - 57B2902E0642C8E5BA1F9DADFE441377 /* PBXTargetDependency */ = { + C4DEEE3CB6E159A9250950E7D872046E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = SwiftyJSON; - target = 5C1F57BFFCD92868AF3442E38186A537 /* SwiftyJSON */; - targetProxy = 906B0FC7D35C414F5BBE0F7DB11C519B /* PBXContainerItemProxy */; + target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; + targetProxy = E95DA7A58C5A5BC45C3E3EAF38E4C7FE /* PBXContainerItemProxy */; }; - E42065487BF3D5CC9F09CB18C7F14F01 /* PBXTargetDependency */ = { + DB9CB4192C3BAEB984EA576B1C796F3E /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; - target = BCC8AE0600D381881B2B45F29D3A3294 /* Starscream */; - targetProxy = 42672EE0E914C25799C038C3FFE417CC /* PBXContainerItemProxy */; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 5EE3800B516F9A10F65BF1EE1D7E10F8 /* PBXContainerItemProxy */; + }; + E260F2A103167C679FC9DB55176D5F4F /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = Starscream; + target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; + targetProxy = 3402497841F54385E8BD13DF35C92B60 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 015A368F878AC3E2CEAE21DDE8026304 /* Debug */ = { + 05EB42A73E2090F258E16E575E3E9BDD /* Release */ = { isa = XCBuildConfiguration; + baseConfigurationReference = 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */; buildSettings = { - ALWAYS_SEARCH_USER_PATHS = NO; - CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; - CLANG_CXX_LIBRARY = "libc++"; - CLANG_ENABLE_MODULES = YES; - CLANG_ENABLE_OBJC_ARC = YES; - CLANG_WARN_BOOL_CONVERSION = YES; - CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; - CLANG_WARN_EMPTY_BODY = YES; - CLANG_WARN_ENUM_CONVERSION = YES; - CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; - CLANG_WARN_UNREACHABLE_CODE = YES; - CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = NO; - ENABLE_TESTABILITY = YES; - GCC_C_LANGUAGE_STANDARD = gnu99; - GCC_DYNAMIC_NO_PIC = NO; - GCC_OPTIMIZATION_LEVEL = 0; - GCC_PREPROCESSOR_DEFINITIONS = ( - "POD_CONFIGURATION_DEBUG=1", - "DEBUG=1", - "$(inherited)", - ); - GCC_SYMBOLS_PRIVATE_EXTERN = NO; - GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; - GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; - GCC_WARN_UNUSED_FUNCTION = YES; - GCC_WARN_UNUSED_VARIABLE = YES; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - ONLY_ACTIVE_ARCH = YES; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; - STRIP_INSTALLED_PRODUCT = NO; - SYMROOT = "${SRCROOT}/../build"; - }; - name = Debug; - }; - 1EAF7F917199C4FBC38B65DAB4BC2900 /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 7B3AAC1CAA0FD33A1665A6CF0609129E /* FayeSwift.xcconfig */; - buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FayeSwift/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = FayeSwift; + MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; + PRODUCT_MODULE_NAME = SwiftyJSON; + PRODUCT_NAME = SwiftyJSON; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 1FB72A1CE25626A8C0F847E37D5CAEA1 /* Release */ = { + 060195FFDBB30400E32DC512A2948E44 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 4AB2D41C9043F185BD735AC2476F72C6 /* Pods-FayeSwift_Tests.release.xcconfig */; + baseConfigurationReference = 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_FayeSwift_Tests; + MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; + PRODUCT_MODULE_NAME = SwiftyJSON; + PRODUCT_NAME = SwiftyJSON; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 2F218157924BD15F7EDCAD60E257E3F3 /* Release */ = { + 0DBDB9B86281CBBF3FDFF7FA9C1FAF19 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 2692C5A026D6876DF0B8ED238232F2E6 /* Pods-FayeSwift_Example.release.xcconfig */; + baseConfigurationReference = 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_FayeSwift_Example; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - 35CC6BCA2C91027EB00E1B38C61BE55A /* Release */ = { + 311ECE6090A2A6284F79965F1FE32CCA /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 47C81FB96686C0BE581D0FC3090AFC0D /* Starscream.xcconfig */; + baseConfigurationReference = CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = Starscream; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Release; }; - 44CDBB6D11DE06DB64D6268622BDC47E /* Release */ = { + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; CLANG_ANALYZER_NONNULL = YES; - CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; - CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; - CLANG_WARN_OBJC_ROOT_CLASS = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; - CODE_SIGNING_REQUIRED = NO; - COPY_PHASE_STRIP = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; ENABLE_NS_ASSERTIONS = NO; - GCC_C_LANGUAGE_STANDARD = gnu99; + ENABLE_STRICT_OBJC_MSGSEND = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_NO_COMMON_BLOCKS = YES; GCC_PREPROCESSOR_DEFINITIONS = ( "POD_CONFIGURATION_RELEASE=1", "$(inherited)", ); GCC_WARN_64_TO_32_BIT_CONVERSION = YES; - GCC_WARN_ABOUT_RETURN_TYPE = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; GCC_WARN_UNDECLARED_SELECTOR = YES; - GCC_WARN_UNINITIALIZED_AUTOS = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; GCC_WARN_UNUSED_FUNCTION = YES; GCC_WARN_UNUSED_VARIABLE = YES; IPHONEOS_DEPLOYMENT_TARGET = 8.0; - PROVISIONING_PROFILE_SPECIFIER = NO_SIGNING/; + MTL_ENABLE_DEBUG_INFO = NO; + MTL_FAST_MATH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; - VALIDATE_PRODUCT = YES; }; name = Release; }; - 51444351DF47F3A9B3368A0D010596D9 /* Debug */ = { + 510D3213F48D2DA7BEE4F84FCBFBA98C /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1EC0280E5CCCCD96F81E63B562E157DD /* SwiftyJSON.xcconfig */; + baseConfigurationReference = EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = SwiftyJSON; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - 731F8E987F620E8D5A676D57ECEEC97C /* Debug */ = { + 539B6A9D4E225CE5EE2E5B567196A7E3 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = D26B5E2282A330BE919FE4EFDFB738B3 /* Pods-FayeSwift_Tests.debug.xcconfig */; + baseConfigurationReference = EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_FayeSwift_Tests; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 8C427F0ABBE6E76366CAB4B4A39A33B9 /* Debug */ = { + 713FA7B58E56A02C730C0922DBFF43EB /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = B661AAF1FC01F5B9EB53567F4990C215 /* Pods-FayeSwift_Example.debug.xcconfig */; + baseConfigurationReference = 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = Pods_FayeSwift_Example; + MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; + PRODUCT_MODULE_NAME = FayeSwift; + PRODUCT_NAME = FayeSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - AA7BBD4CAC0EB5774B764450AF1AC6D9 /* Debug */ = { + 7C0F01947D66B2F81D2812EB9DA6D6ED /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7B3AAC1CAA0FD33A1665A6CF0609129E /* FayeSwift.xcconfig */; + baseConfigurationReference = 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FayeSwift/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = FayeSwift; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; + name = Release; + }; + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { + isa = XCBuildConfiguration; + buildSettings = { + ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_NONNULL = YES; + CLANG_ANALYZER_NUMBER_OBJECT_CONVERSION = YES_AGGRESSIVE; + CLANG_CXX_LANGUAGE_STANDARD = "gnu++14"; + CLANG_CXX_LIBRARY = "libc++"; + CLANG_ENABLE_MODULES = YES; + CLANG_ENABLE_OBJC_ARC = YES; + CLANG_ENABLE_OBJC_WEAK = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; + CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; + CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; + CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; + CLANG_WARN_DOCUMENTATION_COMMENTS = YES; + CLANG_WARN_EMPTY_BODY = YES; + CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; + CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; + CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; + CLANG_WARN_UNGUARDED_AVAILABILITY = YES_AGGRESSIVE; + CLANG_WARN_UNREACHABLE_CODE = YES; + CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; + COPY_PHASE_STRIP = NO; + DEBUG_INFORMATION_FORMAT = dwarf; + ENABLE_STRICT_OBJC_MSGSEND = YES; + ENABLE_TESTABILITY = YES; + GCC_C_LANGUAGE_STANDARD = gnu11; + GCC_DYNAMIC_NO_PIC = NO; + GCC_NO_COMMON_BLOCKS = YES; + GCC_OPTIMIZATION_LEVEL = 0; + GCC_PREPROCESSOR_DEFINITIONS = ( + "POD_CONFIGURATION_DEBUG=1", + "DEBUG=1", + "$(inherited)", + ); + GCC_WARN_64_TO_32_BIT_CONVERSION = YES; + GCC_WARN_ABOUT_RETURN_TYPE = YES_ERROR; + GCC_WARN_UNDECLARED_SELECTOR = YES; + GCC_WARN_UNINITIALIZED_AUTOS = YES_AGGRESSIVE; + GCC_WARN_UNUSED_FUNCTION = YES; + GCC_WARN_UNUSED_VARIABLE = YES; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE; + MTL_FAST_MATH = YES; + ONLY_ACTIVE_ARCH = YES; + PRODUCT_NAME = "$(TARGET_NAME)"; + STRIP_INSTALLED_PRODUCT = NO; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG; + SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_VERSION = 5.0; + SYMROOT = "${SRCROOT}/../build"; + }; name = Debug; }; - C822BE7915F9D2024FBC9D66464DC56B /* Release */ = { + DAD28B0A4CFE053EF1E36A9A83BACEAD /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 1EC0280E5CCCCD96F81E63B562E157DD /* SwiftyJSON.xcconfig */; + baseConfigurationReference = A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */; buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = "dwarf-with-dsym"; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyJSON/Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; - MTL_ENABLE_DEBUG_INFO = NO; - PRODUCT_NAME = SwiftyJSON; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; - FD1B0D8FE2F7865658C8D3B65402A2D4 /* Debug */ = { + F59AB284691A218FAFE6125238EDFADE /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 47C81FB96686C0BE581D0FC3090AFC0D /* Starscream.xcconfig */; + baseConfigurationReference = 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */; buildSettings = { + CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; CURRENT_PROJECT_VERSION = 1; - DEBUG_INFORMATION_FORMAT = dwarf; DEFINES_MODULE = YES; DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - ENABLE_STRICT_OBJC_MSGSEND = YES; - GCC_NO_COMMON_BLOCKS = YES; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - MTL_ENABLE_DEBUG_INFO = YES; - PRODUCT_NAME = Starscream; + MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; + PRODUCT_MODULE_NAME = FayeSwift; + PRODUCT_NAME = FayeSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; - SWIFT_OPTIMIZATION_LEVEL = "-Onone"; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 3.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; @@ -1115,61 +1258,61 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 2C37015467BCB2CAD2C5683C1D3C7897 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */ = { + 401A35C3B8F4524E534F5AF43DF7FD01 /* Build configuration list for PBXNativeTarget "FayeSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 8C427F0ABBE6E76366CAB4B4A39A33B9 /* Debug */, - 2F218157924BD15F7EDCAD60E257E3F3 /* Release */, + F59AB284691A218FAFE6125238EDFADE /* Debug */, + 713FA7B58E56A02C730C0922DBFF43EB /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 2D8E8EC45A3A1A1D94AE762CB5028504 /* Build configuration list for PBXProject "Pods" */ = { + 42D005F3EC3848C7036D975473A0B599 /* Build configuration list for PBXNativeTarget "Starscream" */ = { isa = XCConfigurationList; buildConfigurations = ( - 015A368F878AC3E2CEAE21DDE8026304 /* Debug */, - 44CDBB6D11DE06DB64D6268622BDC47E /* Release */, + 539B6A9D4E225CE5EE2E5B567196A7E3 /* Debug */, + 510D3213F48D2DA7BEE4F84FCBFBA98C /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 3BC677F1AB4B06206649C8ADA8DD1440 /* Build configuration list for PBXNativeTarget "FayeSwift" */ = { + 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = { isa = XCConfigurationList; buildConfigurations = ( - AA7BBD4CAC0EB5774B764450AF1AC6D9 /* Debug */, - 1EAF7F917199C4FBC38B65DAB4BC2900 /* Release */, + 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */, + 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 81D03CD0D35971BA49F91CC378F0381D /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */ = { + 92CE793E190A4CB79F9EE04FEEFE16FD /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 731F8E987F620E8D5A676D57ECEEC97C /* Debug */, - 1FB72A1CE25626A8C0F847E37D5CAEA1 /* Release */, + DAD28B0A4CFE053EF1E36A9A83BACEAD /* Debug */, + 311ECE6090A2A6284F79965F1FE32CCA /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - D7B51E188C37F41CEC46650465F4DA2E /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { + D837C3410A68BB77EACA27DD71189414 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - 51444351DF47F3A9B3368A0D010596D9 /* Debug */, - C822BE7915F9D2024FBC9D66464DC56B /* Release */, + 0DBDB9B86281CBBF3FDFF7FA9C1FAF19 /* Debug */, + 7C0F01947D66B2F81D2812EB9DA6D6ED /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - E86FDF27E9DCFAAFE67D7E62F35E9AB0 /* Build configuration list for PBXNativeTarget "Starscream" */ = { + F729EFA373196875F38F5325B7B83897 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { isa = XCConfigurationList; buildConfigurations = ( - FD1B0D8FE2F7865658C8D3B65402A2D4 /* Debug */, - 35CC6BCA2C91027EB00E1B38C61BE55A /* Release */, + 060195FFDBB30400E32DC512A2948E44 /* Debug */, + 05EB42A73E2090F258E16E575E3E9BDD /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; /* End XCConfigurationList section */ }; - rootObject = D41D8CD98F00B204E9800998ECF8427E /* Project object */; + rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */; } diff --git a/Example/Pods/Starscream/README.md b/Example/Pods/Starscream/README.md index bda69c5..a98767e 100644 --- a/Example/Pods/Starscream/README.md +++ b/Example/Pods/Starscream/README.md @@ -1,21 +1,15 @@ ![starscream](https://raw.githubusercontent.com/daltoniam/starscream/assets/starscream.jpg) -Starscream is a conforming WebSocket ([RFC 6455](http://tools.ietf.org/html/rfc6455)) client library in Swift for iOS and OSX. - -It's Objective-C counter part can be found here: [Jetfire](https://github.com/acmacalister/jetfire) +Starscream is a conforming WebSocket ([RFC 6455](http://tools.ietf.org/html/rfc6455)) library in Swift. ## Features - Conforms to all of the base [Autobahn test suite](http://autobahn.ws/testsuite/). - Nonblocking. Everything happens in the background, thanks to GCD. - TLS/WSS support. -- Simple concise codebase at just a few hundred LOC. - -## Swift 2.3 - -See release/tag 1.1.4 for Swift 2.3 support. +- Compression Extensions support ([RFC 7692](https://tools.ietf.org/html/rfc7692)) -## Example +### Import the framework First thing is to import the framework. See the Installation instructions on how to add the framework to your project. @@ -23,6 +17,8 @@ First thing is to import the framework. See the Installation instructions on how import Starscream ``` +### Connect to the WebSocket Server + Once imported, you can open a connection to your WebSocket server. Note that `socket` is probably best as a property, so it doesn't get deallocated right after being setup. ```swift @@ -31,86 +27,53 @@ socket.delegate = self socket.connect() ``` -After you are connected, there are some delegate methods that we need to implement. +After you are connected, there is either a delegate or closure you can use for process WebSocket events. -### websocketDidConnect +### Receiving data from a WebSocket -websocketDidConnect is called as soon as the client connects to the server. +`didReceive` receives all the WebSocket events in a single easy to handle enum. ```swift -func websocketDidConnect(socket: WebSocket) { - print("websocket is connected") +func didReceive(event: WebSocketEvent, client: WebSocket) { + switch event { + case .connected(let headers): + isConnected = true + print("websocket is connected: \(headers)") + case .disconnected(let reason, let code): + isConnected = false + print("websocket is disconnected: \(reason) with code: \(code)") + case .text(let string): + print("Received text: \(string)") + case .binary(let data): + print("Received data: \(data.count)") + case .ping(_): + break + case .pong(_): + break + case .viablityChanged(_): + break + case .reconnectSuggested(_): + break + case .cancelled: + isConnected = false + case .error(let error): + isConnected = false + handleError(error) + } } ``` -### websocketDidDisconnect - -websocketDidDisconnect is called as soon as the client is disconnected from the server. +The closure of this would be: ```swift -func websocketDidDisconnect(socket: WebSocket, error: NSError?) { - print("websocket is disconnected: \(error?.localizedDescription)") +socket.onEvent = { event in + switch event { + // handle events just like above... + } } ``` -### websocketDidReceiveMessage - -websocketDidReceiveMessage is called when the client gets a text frame from the connection. - -```swift -func websocketDidReceiveMessage(socket: WebSocket, text: String) { - print("got some text: \(text)") -} -``` - -### websocketDidReceiveData - -websocketDidReceiveData is called when the client gets a binary frame from the connection. - -```swift -func websocketDidReceiveData(socket: WebSocket, data: Data) { - print("got some data: \(data.count)") -} -``` - -### Optional: websocketDidReceivePong *(required protocol: WebSocketPongDelegate)* - -websocketDidReceivePong is called when the client gets a pong response from the connection. You need to implement the WebSocketPongDelegate protocol and set an additional delegate, eg: ` socket.pongDelegate = self` - -```swift -func websocketDidReceivePong(socket: WebSocket, data: Data?) { - print("Got pong! Maybe some data: \(data?.count)") -} -``` - -Or you can use closures. - -```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!) -//websocketDidConnect -socket.onConnect = { - print("websocket is connected") -} -//websocketDidDisconnect -socket.onDisconnect = { (error: NSError?) in - print("websocket is disconnected: \(error?.localizedDescription)") -} -//websocketDidReceiveMessage -socket.onText = { (text: String) in - print("got some text: \(text)") -} -//websocketDidReceiveData -socket.onData = { (data: Data) in - print("got some data: \(data.count)") -} -//you could do onPong as well. -socket.connect() -``` - -One more: you can listen to socket connection and disconnection via notifications. Starscream posts `WebsocketDidConnectNotification` and `WebsocketDidDisconnectNotification`. You can find an `NSError` that caused the disconection by accessing `WebsocketDisconnectionErrorKeyName` on notification `userInfo`. - - -## The delegate methods give you a simple way to handle data from the server, but how do you send data? +### Writing to a WebSocket ### write a binary frame @@ -136,70 +99,69 @@ The writePing method is the same as write, but sends a ping control frame. socket.write(ping: Data()) //example on how to write a ping control frame over the socket! ``` -### disconnect +### write a pong frame -The disconnect method does what you would expect and closes the socket. + +the writePong method is the same as writePing, but sends a pong control frame. ```swift -socket.disconnect() +socket.write(pong: Data()) //example on how to write a pong control frame over the socket! ``` -### isConnected +Starscream will automatically respond to incoming `ping` control frames so you do not need to manually send `pong`s. -Returns if the socket is connected or not. +However if for some reason you need to control this process you can turn off the automatic `ping` response by disabling `respondToPingWithPong`. ```swift -if socket.isConnected { - // do cool stuff. -} +socket.respondToPingWithPong = false //Do not automaticaly respond to incoming pings with pongs. ``` -### Custom Headers +In most cases you will not need to do this. + +### disconnect -You can also override the default websocket headers with your own custom ones like so: +The disconnect method does what you would expect and closes the socket. ```swift -socket.headers["Sec-WebSocket-Protocol"] = "someother protocols" -socket.headers["Sec-WebSocket-Version"] = "14" -socket.headers["My-Awesome-Header"] = "Everything is Awesome!" +socket.disconnect() ``` -### Protocols - -If you need to specify a protocol, simple add it to the init: +The disconnect method can also send a custom close code if desired. ```swift -//chat and superchat are the example protocols here -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) -socket.delegate = self -socket.connect() +socket.disconnect(closeCode: CloseCode.normal.rawValue) ``` -### Self Signed SSL and VOIP +### Custom Headers, Protocols and Timeout -There are a couple of other properties that modify the stream: +You can override the default websocket headers, add your own custom ones and set a timeout: ```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) - -//set this if you are planning on using the socket in a VOIP background setting (using the background VOIP service). -socket.voipEnabled = true - -//set this you want to ignore SSL cert validation, so a self signed SSL certificate can be used. -socket.disableSSLCertValidation = true +var request = URLRequest(url: URL(string: "ws://localhost:8080/")!) +request.timeoutInterval = 5 // Sets the timeout for the connection +request.setValue("someother protocols", forHTTPHeaderField: "Sec-WebSocket-Protocol") +request.setValue("14", forHTTPHeaderField: "Sec-WebSocket-Version") +request.setValue("chat,superchat", forHTTPHeaderField: "Sec-WebSocket-Protocol") +request.setValue("Everything is Awesome!", forHTTPHeaderField: "My-Awesome-Header") +let socket = WebSocket(request: request) ``` ### SSL Pinning -SSL Pinning is also supported in Starscream. +SSL Pinning is also supported in Starscream. + +TODO: Update docs on how to load certificates and public keys into an app bundle, use the builtin pinner and TrustKit. + +### Compression Extensions + +Compression Extensions ([RFC 7692](https://tools.ietf.org/html/rfc7692)) is supported in Starscream. Compression is enabled by default, however compression will only be used if it is supported by the server as well. You may enable or disable compression via the `.enableCompression` property: ```swift -socket = WebSocket(url: URL(string: "ws://localhost:8080/")!, protocols: ["chat","superchat"]) -let data = ... //load your certificate from disk -socket.security = SSLSecurity(certs: [SSLCert(data: data)], usePublicKeys: true) -//socket.security = SSLSecurity() //uses the .cer files in your app's bundle +socket = WebSocket(url: URL(string: "ws://localhost:8080/")!) +socket.enableCompression = false ``` -You load either a `Data` blob of your certificate or you can use a `SecKeyRef` if you have a public key you want to use. The `usePublicKeys` bool is whether to use the certificates for validation or the public keys. The public keys will be extracted from the certificates automatically if `usePublicKeys` is choosen. + +Compression should be disabled if your application is transmitting already-compressed, random, or other uncompressable data. ### Custom Queue @@ -217,7 +179,7 @@ Check out the SimpleTest project in the examples directory to see how to setup a ## Requirements -Starscream works with iOS 7/OSX 10.9 or above. It is recommended to use iOS 8/10.10 or above for CocoaPods/framework support. To use Starscream with a project targeting iOS 7, you must include all Swift files directly in your project. +Starscream works with iOS 8/10.10 or above for CocoaPods/framework support. To use Starscream with a project targeting iOS 7, you must include all Swift files directly in your project. ## Installation @@ -231,7 +193,7 @@ To use Starscream in your project add the following 'Podfile' to your project platform :ios, '9.0' use_frameworks! - pod 'Starscream', '~> 2.0.0' + pod 'Starscream', '~> 4.0.0' Then run: @@ -253,9 +215,32 @@ $ brew install carthage To integrate Starscream into your Xcode project using Carthage, specify it in your `Cartfile`: ``` -github "daltoniam/Starscream" >= 2.0.0 +github "daltoniam/Starscream" >= 4.0.0 +``` + +### Accio + +Check out the [Accio](https://github.com/JamitLabs/Accio) docs on how to add a install. + +Add the following to your Package.swift: + +```swift +.package(url: "https://github.com/daltoniam/Starscream.git", .upToNextMajor(from: "4.0.0")), +``` + +Next, add `Starscream` to your App targets dependencies like so: + +```swift +.target( + name: "App", + dependencies: [ + "Starscream", + ] +), ``` +Then run `accio update`. + ### Rogue First see the [installation docs](https://github.com/acmacalister/Rogue) for how to install Rogue. @@ -263,11 +248,23 @@ First see the [installation docs](https://github.com/acmacalister/Rogue) for how To install Starscream run the command below in the directory you created the rogue file. ``` -rogue add https://github.com/daltoniam/starscream +rogue add https://github.com/daltoniam/Starscream ``` Next open the `libs` folder and add the `Starscream.xcodeproj` to your Xcode project. Once that is complete, in your "Build Phases" add the `Starscream.framework` to your "Link Binary with Libraries" phase. Make sure to add the `libs` folder to your `.gitignore` file. +### Swift Package Manager + +The [Swift Package Manager](https://swift.org/package-manager/) is a tool for automating the distribution of Swift code and is integrated into the `swift` compiler. + +Once you have your Swift package set up, adding Starscream as a dependency is as easy as adding it to the `dependencies` value of your `Package.swift`. + +```swift +dependencies: [ + .Package(url: "https://github.com/daltoniam/Starscream.git", majorVersion: 4) +] +``` + ### Other Simply grab the framework (either via git submodule or another package manager). @@ -280,9 +277,7 @@ If you are running this in an OSX app or on a physical iOS device you will need ## TODOs -- [ ] WatchOS? -- [ ] Linux Support? -- [ ] Add Unit Tests - Local Swift websocket server +- [ ] Proxy support ## License diff --git a/Example/Pods/Starscream/Source/SSLSecurity.swift b/Example/Pods/Starscream/Source/SSLSecurity.swift deleted file mode 100644 index 4c7f1d2..0000000 --- a/Example/Pods/Starscream/Source/SSLSecurity.swift +++ /dev/null @@ -1,260 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// SSLSecurity.swift -// Starscream -// -// Created by Dalton Cherry on 5/16/15. -// Copyright (c) 2014-2016 Dalton Cherry. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -import Foundation -import Security - -public protocol SSLTrustValidator { - func isValid(_ trust: SecTrust, domain: String?) -> Bool -} - -open class SSLCert { - var certData: Data? - var key: SecKey? - - /** - Designated init for certificates - - - parameter data: is the binary data of the certificate - - - returns: a representation security object to be used with - */ - public init(data: Data) { - self.certData = data - } - - /** - Designated init for public keys - - - parameter key: is the public key to be used - - - returns: a representation security object to be used with - */ - public init(key: SecKey) { - self.key = key - } -} - -open class SSLSecurity : SSLTrustValidator { - public var validatedDN = true //should the domain name be validated? - - var isReady = false //is the key processing done? - var certificates: [Data]? //the certificates - var pubKeys: [SecKey]? //the public keys - var usePublicKeys = false //use public keys or certificate validation? - - /** - Use certs from main app bundle - - - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning validation - - - returns: a representation security object to be used with - */ - public convenience init(usePublicKeys: Bool = false) { - let paths = Bundle.main.paths(forResourcesOfType: "cer", inDirectory: ".") - - let certs = paths.reduce([SSLCert]()) { (certs: [SSLCert], path: String) -> [SSLCert] in - var certs = certs - if let data = NSData(contentsOfFile: path) { - certs.append(SSLCert(data: data as Data)) - } - return certs - } - - self.init(certs: certs, usePublicKeys: usePublicKeys) - } - - /** - Designated init - - - parameter certs: is the certificates or public keys to use - - parameter usePublicKeys: is to specific if the publicKeys or certificates should be used for SSL pinning validation - - - returns: a representation security object to be used with - */ - public init(certs: [SSLCert], usePublicKeys: Bool) { - self.usePublicKeys = usePublicKeys - - if self.usePublicKeys { - DispatchQueue.global(qos: .default).async { - let pubKeys = certs.reduce([SecKey]()) { (pubKeys: [SecKey], cert: SSLCert) -> [SecKey] in - var pubKeys = pubKeys - if let data = cert.certData, cert.key == nil { - cert.key = self.extractPublicKey(data) - } - if let key = cert.key { - pubKeys.append(key) - } - return pubKeys - } - - self.pubKeys = pubKeys - self.isReady = true - } - } else { - let certificates = certs.reduce([Data]()) { (certificates: [Data], cert: SSLCert) -> [Data] in - var certificates = certificates - if let data = cert.certData { - certificates.append(data) - } - return certificates - } - self.certificates = certificates - self.isReady = true - } - } - - /** - Valid the trust and domain name. - - - parameter trust: is the serverTrust to validate - - parameter domain: is the CN domain to validate - - - returns: if the key was successfully validated - */ - public func isValid(_ trust: SecTrust, domain: String?) -> Bool { - - var tries = 0 - while !self.isReady { - usleep(1000) - tries += 1 - if tries > 5 { - return false //doesn't appear it is going to ever be ready... - } - } - var policy: SecPolicy - if self.validatedDN { - policy = SecPolicyCreateSSL(true, domain as NSString?) - } else { - policy = SecPolicyCreateBasicX509() - } - SecTrustSetPolicies(trust,policy) - if self.usePublicKeys { - if let keys = self.pubKeys { - let serverPubKeys = publicKeyChain(trust) - for serverKey in serverPubKeys as [AnyObject] { - for key in keys as [AnyObject] { - if serverKey.isEqual(key) { - return true - } - } - } - } - } else if let certs = self.certificates { - let serverCerts = certificateChain(trust) - var collect = [SecCertificate]() - for cert in certs { - collect.append(SecCertificateCreateWithData(nil,cert as CFData)!) - } - SecTrustSetAnchorCertificates(trust,collect as NSArray) - var result: SecTrustResultType = .unspecified - SecTrustEvaluate(trust,&result) - if result == .unspecified || result == .proceed { - var trustedCount = 0 - for serverCert in serverCerts { - for cert in certs { - if cert == serverCert { - trustedCount += 1 - break - } - } - } - if trustedCount == serverCerts.count { - return true - } - } - } - return false - } - - /** - Get the public key from a certificate data - - - parameter data: is the certificate to pull the public key from - - - returns: a public key - */ - func extractPublicKey(_ data: Data) -> SecKey? { - guard let cert = SecCertificateCreateWithData(nil, data as CFData) else { return nil } - - return extractPublicKey(cert, policy: SecPolicyCreateBasicX509()) - } - - /** - Get the public key from a certificate - - - parameter data: is the certificate to pull the public key from - - - returns: a public key - */ - func extractPublicKey(_ cert: SecCertificate, policy: SecPolicy) -> SecKey? { - var possibleTrust: SecTrust? - SecTrustCreateWithCertificates(cert, policy, &possibleTrust) - - guard let trust = possibleTrust else { return nil } - var result: SecTrustResultType = .unspecified - SecTrustEvaluate(trust, &result) - return SecTrustCopyPublicKey(trust) - } - - /** - Get the certificate chain for the trust - - - parameter trust: is the trust to lookup the certificate chain for - - - returns: the certificate chain for the trust - */ - func certificateChain(_ trust: SecTrust) -> [Data] { - let certificates = (0.. [Data] in - var certificates = certificates - let cert = SecTrustGetCertificateAtIndex(trust, index) - certificates.append(SecCertificateCopyData(cert!) as Data) - return certificates - } - - return certificates - } - - /** - Get the public key chain for the trust - - - parameter trust: is the trust to lookup the certificate chain and extract the public keys - - - returns: the public keys from the certifcate chain for the trust - */ - func publicKeyChain(_ trust: SecTrust) -> [SecKey] { - let policy = SecPolicyCreateBasicX509() - let keys = (0.. [SecKey] in - var keys = keys - let cert = SecTrustGetCertificateAtIndex(trust, index) - if let key = extractPublicKey(cert!, policy: policy) { - keys.append(key) - } - - return keys - } - - return keys - } - - -} diff --git a/Example/Pods/Starscream/Source/WebSocket.swift b/Example/Pods/Starscream/Source/WebSocket.swift deleted file mode 100644 index 3b85b50..0000000 --- a/Example/Pods/Starscream/Source/WebSocket.swift +++ /dev/null @@ -1,942 +0,0 @@ -////////////////////////////////////////////////////////////////////////////////////////////////// -// -// Websocket.swift -// -// Created by Dalton Cherry on 7/16/14. -// Copyright (c) 2014-2016 Dalton Cherry. -// -// Licensed under the Apache License, Version 2.0 (the "License"); -// you may not use this file except in compliance with the License. -// You may obtain a copy of the License at -// -// http://www.apache.org/licenses/LICENSE-2.0 -// -// Unless required by applicable law or agreed to in writing, software -// distributed under the License is distributed on an "AS IS" BASIS, -// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -// See the License for the specific language governing permissions and -// limitations under the License. -// -////////////////////////////////////////////////////////////////////////////////////////////////// - -import Foundation -import CoreFoundation -import Security - -public let WebsocketDidConnectNotification = "WebsocketDidConnectNotification" -public let WebsocketDidDisconnectNotification = "WebsocketDidDisconnectNotification" -public let WebsocketDisconnectionErrorKeyName = "WebsocketDisconnectionErrorKeyName" - -public protocol WebSocketDelegate: class { - func websocketDidConnect(socket: WebSocket) - func websocketDidDisconnect(socket: WebSocket, error: NSError?) - func websocketDidReceiveMessage(socket: WebSocket, text: String) - func websocketDidReceiveData(socket: WebSocket, data: Data) -} - -public protocol WebSocketPongDelegate: class { - func websocketDidReceivePong(socket: WebSocket, data: Data?) -} - -open class WebSocket : NSObject, StreamDelegate { - - enum OpCode : UInt8 { - case continueFrame = 0x0 - case textFrame = 0x1 - case binaryFrame = 0x2 - // 3-7 are reserved. - case connectionClose = 0x8 - case ping = 0x9 - case pong = 0xA - // B-F reserved. - } - - public enum CloseCode : UInt16 { - case normal = 1000 - case goingAway = 1001 - case protocolError = 1002 - case protocolUnhandledType = 1003 - // 1004 reserved. - case noStatusReceived = 1005 - //1006 reserved. - case encoding = 1007 - case policyViolated = 1008 - case messageTooBig = 1009 - } - - public static let ErrorDomain = "WebSocket" - - enum InternalErrorCode: UInt16 { - // 0-999 WebSocket status codes not used - case outputStreamWriteError = 1 - } - - // Where the callback is executed. It defaults to the main UI thread queue. - public var callbackQueue = DispatchQueue.main - - var optionalProtocols: [String]? - - // MARK: - Constants - - let headerWSUpgradeName = "Upgrade" - let headerWSUpgradeValue = "websocket" - let headerWSHostName = "Host" - let headerWSConnectionName = "Connection" - let headerWSConnectionValue = "Upgrade" - let headerWSProtocolName = "Sec-WebSocket-Protocol" - let headerWSVersionName = "Sec-WebSocket-Version" - let headerWSVersionValue = "13" - let headerWSKeyName = "Sec-WebSocket-Key" - let headerOriginName = "Origin" - let headerWSAcceptName = "Sec-WebSocket-Accept" - let BUFFER_MAX = 4096 - let FinMask: UInt8 = 0x80 - let OpCodeMask: UInt8 = 0x0F - let RSVMask: UInt8 = 0x70 - let MaskMask: UInt8 = 0x80 - let PayloadLenMask: UInt8 = 0x7F - let MaxFrameSize: Int = 32 - let httpSwitchProtocolCode = 101 - let supportedSSLSchemes = ["wss", "https"] - - class WSResponse { - var isFin = false - var code: OpCode = .continueFrame - var bytesLeft = 0 - var frameCount = 0 - var buffer: NSMutableData? - } - - // MARK: - Delegates - - /// Responds to callback about new messages coming in over the WebSocket - /// and also connection/disconnect messages. - public weak var delegate: WebSocketDelegate? - - /// Receives a callback for each pong message recived. - public weak var pongDelegate: WebSocketPongDelegate? - - - // MARK: - Block based API. - - public var onConnect: ((Void) -> Void)? - public var onDisconnect: ((NSError?) -> Void)? - public var onText: ((String) -> Void)? - public var onData: ((Data) -> Void)? - public var onPong: ((Data?) -> Void)? - - public var headers = [String: String]() - public var voipEnabled = false - public var disableSSLCertValidation = false - public var security: SSLTrustValidator? - public var enabledSSLCipherSuites: [SSLCipherSuite]? - public var origin: String? - public var timeout = 5 - public var isConnected: Bool { - return connected - } - - public var currentURL: URL { return url } - - // MARK: - Private - - private var url: URL - private var inputStream: InputStream? - private var outputStream: OutputStream? - private var connected = false - private var isConnecting = false - private var writeQueue = OperationQueue() - private var readStack = [WSResponse]() - private var inputQueue = [Data]() - private var fragBuffer: Data? - private var certValidated = false - private var didDisconnect = false - private var readyToWrite = false - private let mutex = NSLock() - private let notificationCenter = NotificationCenter.default - private var canDispatch: Bool { - mutex.lock() - let canWork = readyToWrite - mutex.unlock() - return canWork - } - /// The shared processing queue used for all WebSocket. - private static let sharedWorkQueue = DispatchQueue(label: "com.vluxe.starscream.websocket", attributes: []) - - /// Used for setting protocols. - public init(url: URL, protocols: [String]? = nil) { - self.url = url - self.origin = url.absoluteString - writeQueue.maxConcurrentOperationCount = 1 - optionalProtocols = protocols - } - - // Used for specifically setting the QOS for the write queue. - public convenience init(url: URL, writeQueueQOS: QualityOfService, protocols: [String]? = nil) { - self.init(url: url, protocols: protocols) - writeQueue.qualityOfService = writeQueueQOS - } - - /** - Connect to the WebSocket server on a background thread. - */ - public func connect() { - guard !isConnecting else { return } - didDisconnect = false - isConnecting = true - createHTTPRequest() - isConnecting = false - } - - /** - Disconnect from the server. I send a Close control frame to the server, then expect the server to respond with a Close control frame and close the socket from its end. I notify my delegate once the socket has been closed. - - If you supply a non-nil `forceTimeout`, I wait at most that long (in seconds) for the server to close the socket. After the timeout expires, I close the socket and notify my delegate. - - If you supply a zero (or negative) `forceTimeout`, I immediately close the socket (without sending a Close control frame) and notify my delegate. - - - Parameter forceTimeout: Maximum time to wait for the server to close the socket. - - Parameter closeCode: The code to send on disconnect. The default is the normal close code for cleanly disconnecting a webSocket. - */ - public func disconnect(forceTimeout: TimeInterval? = nil, closeCode: UInt16 = CloseCode.normal.rawValue) { - switch forceTimeout { - case .some(let seconds) where seconds > 0: - let milliseconds = Int(seconds * 1_000) - callbackQueue.asyncAfter(deadline: .now() + .milliseconds(milliseconds)) { [weak self] in - self?.disconnectStream(nil) - } - fallthrough - case .none: - writeError(closeCode) - default: - disconnectStream(nil) - break - } - } - - /** - Write a string to the websocket. This sends it as a text frame. - - If you supply a non-nil completion block, I will perform it when the write completes. - - - parameter string: The string to write. - - parameter completion: The (optional) completion handler. - */ - public func write(string: String, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(string.data(using: String.Encoding.utf8)!, code: .textFrame, writeCompletion: completion) - } - - /** - Write binary data to the websocket. This sends it as a binary frame. - - If you supply a non-nil completion block, I will perform it when the write completes. - - - parameter data: The data to write. - - parameter completion: The (optional) completion handler. - */ - public func write(data: Data, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(data, code: .binaryFrame, writeCompletion: completion) - } - - /** - Write a ping to the websocket. This sends it as a control frame. - Yodel a sound to the planet. This sends it as an astroid. http://youtu.be/Eu5ZJELRiJ8?t=42s - */ - public func write(ping: Data, completion: (() -> ())? = nil) { - guard isConnected else { return } - dequeueWrite(ping, code: .ping, writeCompletion: completion) - } - - /** - Private method that starts the connection. - */ - private func createHTTPRequest() { - - let urlRequest = CFHTTPMessageCreateRequest(kCFAllocatorDefault, "GET" as CFString, - url as CFURL, kCFHTTPVersion1_1).takeRetainedValue() - - var port = url.port - if port == nil { - if supportedSSLSchemes.contains(url.scheme!) { - port = 443 - } else { - port = 80 - } - } - addHeader(urlRequest, key: headerWSUpgradeName, val: headerWSUpgradeValue) - addHeader(urlRequest, key: headerWSConnectionName, val: headerWSConnectionValue) - if let protocols = optionalProtocols { - addHeader(urlRequest, key: headerWSProtocolName, val: protocols.joined(separator: ",")) - } - addHeader(urlRequest, key: headerWSVersionName, val: headerWSVersionValue) - addHeader(urlRequest, key: headerWSKeyName, val: generateWebSocketKey()) - if let origin = origin { - addHeader(urlRequest, key: headerOriginName, val: origin) - } - addHeader(urlRequest, key: headerWSHostName, val: "\(url.host!):\(port!)") - for (key, value) in headers { - addHeader(urlRequest, key: key, val: value) - } - if let cfHTTPMessage = CFHTTPMessageCopySerializedMessage(urlRequest) { - let serializedRequest = cfHTTPMessage.takeRetainedValue() - initStreamsWithData(serializedRequest as Data, Int(port!)) - } - } - - /** - Add a header to the CFHTTPMessage by using the NSString bridges to CFString - */ - private func addHeader(_ urlRequest: CFHTTPMessage, key: String, val: String) { - CFHTTPMessageSetHeaderFieldValue(urlRequest, key as CFString, val as CFString) - } - - /** - Generate a WebSocket key as needed in RFC. - */ - private func generateWebSocketKey() -> String { - var key = "" - let seed = 16 - for _ in 0..? - var writeStream: Unmanaged? - let h = url.host! as NSString - CFStreamCreatePairWithSocketToHost(nil, h, UInt32(port), &readStream, &writeStream) - inputStream = readStream!.takeRetainedValue() - outputStream = writeStream!.takeRetainedValue() - guard let inStream = inputStream, let outStream = outputStream else { return } - inStream.delegate = self - outStream.delegate = self - if supportedSSLSchemes.contains(url.scheme!) { - inStream.setProperty(StreamSocketSecurityLevel.negotiatedSSL as AnyObject, forKey: Stream.PropertyKey.socketSecurityLevelKey) - outStream.setProperty(StreamSocketSecurityLevel.negotiatedSSL as AnyObject, forKey: Stream.PropertyKey.socketSecurityLevelKey) - if disableSSLCertValidation { - let settings: [NSObject: NSObject] = [kCFStreamSSLValidatesCertificateChain: NSNumber(value: false), kCFStreamSSLPeerName: kCFNull] - inStream.setProperty(settings, forKey: kCFStreamPropertySSLSettings as Stream.PropertyKey) - outStream.setProperty(settings, forKey: kCFStreamPropertySSLSettings as Stream.PropertyKey) - } - if let cipherSuites = self.enabledSSLCipherSuites { - if let sslContextIn = CFReadStreamCopyProperty(inputStream, CFStreamPropertyKey(rawValue: kCFStreamPropertySSLContext)) as! SSLContext?, - let sslContextOut = CFWriteStreamCopyProperty(outputStream, CFStreamPropertyKey(rawValue: kCFStreamPropertySSLContext)) as! SSLContext? { - let resIn = SSLSetEnabledCiphers(sslContextIn, cipherSuites, cipherSuites.count) - let resOut = SSLSetEnabledCiphers(sslContextOut, cipherSuites, cipherSuites.count) - if resIn != errSecSuccess { - let error = self.errorWithDetail("Error setting ingoing cypher suites", code: UInt16(resIn)) - disconnectStream(error) - return - } - if resOut != errSecSuccess { - let error = self.errorWithDetail("Error setting outgoing cypher suites", code: UInt16(resOut)) - disconnectStream(error) - return - } - } - } - } else { - certValidated = true //not a https session, so no need to check SSL pinning - } - if voipEnabled { - inStream.setProperty(StreamNetworkServiceTypeValue.voIP as AnyObject, forKey: Stream.PropertyKey.networkServiceType) - outStream.setProperty(StreamNetworkServiceTypeValue.voIP as AnyObject, forKey: Stream.PropertyKey.networkServiceType) - } - - CFReadStreamSetDispatchQueue(inStream, WebSocket.sharedWorkQueue) - CFWriteStreamSetDispatchQueue(outStream, WebSocket.sharedWorkQueue) - inStream.open() - outStream.open() - - self.mutex.lock() - self.readyToWrite = true - self.mutex.unlock() - - let bytes = UnsafeRawPointer((data as NSData).bytes).assumingMemoryBound(to: UInt8.self) - var out = timeout * 1_000_000 // wait 5 seconds before giving up - writeQueue.addOperation { [weak self] in - while !outStream.hasSpaceAvailable { - usleep(100) // wait until the socket is ready - out -= 100 - if out < 0 { - self?.cleanupStream() - self?.doDisconnect(self?.errorWithDetail("write wait timed out", code: 2)) - return - } else if outStream.streamError != nil { - return // disconnectStream will be called. - } - } - outStream.write(bytes, maxLength: data.count) - } - } - - /** - Delegate for the stream methods. Processes incoming bytes - */ - public func stream(_ aStream: Stream, handle eventCode: Stream.Event) { - if let sec = security, !certValidated && [.hasBytesAvailable, .hasSpaceAvailable].contains(eventCode) { - let trust = aStream.property(forKey: kCFStreamPropertySSLPeerTrust as Stream.PropertyKey) as! SecTrust - let domain = aStream.property(forKey: kCFStreamSSLPeerName as Stream.PropertyKey) as? String - if sec.isValid(trust, domain: domain) { - certValidated = true - } else { - let error = errorWithDetail("Invalid SSL certificate", code: 1) - disconnectStream(error) - return - } - } - if eventCode == .hasBytesAvailable { - if aStream == inputStream { - processInputStream() - } - } else if eventCode == .errorOccurred { - disconnectStream(aStream.streamError as NSError?) - } else if eventCode == .endEncountered { - disconnectStream(nil) - } - } - - /** - Disconnect the stream object and notifies the delegate. - */ - private func disconnectStream(_ error: NSError?) { - if error == nil { - writeQueue.waitUntilAllOperationsAreFinished() - } else { - writeQueue.cancelAllOperations() - } - cleanupStream() - doDisconnect(error) - } - - /** - cleanup the streams. - */ - private func cleanupStream() { - outputStream?.delegate = nil - inputStream?.delegate = nil - if let stream = inputStream { - CFReadStreamSetDispatchQueue(stream, nil) - stream.close() - } - if let stream = outputStream { - CFWriteStreamSetDispatchQueue(stream, nil) - stream.close() - } - outputStream = nil - inputStream = nil - } - - /** - Handles the incoming bytes and sending them to the proper processing method. - */ - private func processInputStream() { - let buf = NSMutableData(capacity: BUFFER_MAX) - let buffer = UnsafeMutableRawPointer(mutating: buf!.bytes).assumingMemoryBound(to: UInt8.self) - let length = inputStream!.read(buffer, maxLength: BUFFER_MAX) - guard length > 0 else { return } - var process = false - if inputQueue.count == 0 { - process = true - } - inputQueue.append(Data(bytes: buffer, count: length)) - if process { - dequeueInput() - } - } - - /** - Dequeue the incoming input so it is processed in order. - */ - private func dequeueInput() { - while !inputQueue.isEmpty { - let data = inputQueue[0] - var work = data - if let fragBuffer = fragBuffer { - var combine = NSData(data: fragBuffer) as Data - combine.append(data) - work = combine - self.fragBuffer = nil - } - let buffer = UnsafeRawPointer((work as NSData).bytes).assumingMemoryBound(to: UInt8.self) - let length = work.count - if !connected { - processTCPHandshake(buffer, bufferLen: length) - } else { - processRawMessagesInBuffer(buffer, bufferLen: length) - } - inputQueue = inputQueue.filter{ $0 != data } - } - } - - /** - Handle checking the inital connection status - */ - private func processTCPHandshake(_ buffer: UnsafePointer, bufferLen: Int) { - let code = processHTTP(buffer, bufferLen: bufferLen) - switch code { - case 0: - connected = true - guard canDispatch else {return} - callbackQueue.async { [weak self] in - guard let s = self else { return } - s.onConnect?() - s.delegate?.websocketDidConnect(socket: s) - s.notificationCenter.post(name: NSNotification.Name(WebsocketDidConnectNotification), object: self) - } - case -1: - fragBuffer = Data(bytes: buffer, count: bufferLen) - break // do nothing, we are going to collect more data - default: - doDisconnect(errorWithDetail("Invalid HTTP upgrade", code: UInt16(code))) - } - } - - /** - Finds the HTTP Packet in the TCP stream, by looking for the CRLF. - */ - private func processHTTP(_ buffer: UnsafePointer, bufferLen: Int) -> Int { - let CRLFBytes = [UInt8(ascii: "\r"), UInt8(ascii: "\n"), UInt8(ascii: "\r"), UInt8(ascii: "\n")] - var k = 0 - var totalSize = 0 - for i in 0.. 0 { - let code = validateResponse(buffer, bufferLen: totalSize) - if code != 0 { - return code - } - totalSize += 1 //skip the last \n - let restSize = bufferLen - totalSize - if restSize > 0 { - processRawMessagesInBuffer(buffer + totalSize, bufferLen: restSize) - } - return 0 //success - } - return -1 // Was unable to find the full TCP header. - } - - /** - Validates the HTTP is a 101 as per the RFC spec. - */ - private func validateResponse(_ buffer: UnsafePointer, bufferLen: Int) -> Int { - let response = CFHTTPMessageCreateEmpty(kCFAllocatorDefault, false).takeRetainedValue() - CFHTTPMessageAppendBytes(response, buffer, bufferLen) - let code = CFHTTPMessageGetResponseStatusCode(response) - if code != httpSwitchProtocolCode { - return code - } - if let cfHeaders = CFHTTPMessageCopyAllHeaderFields(response) { - let headers = cfHeaders.takeRetainedValue() as NSDictionary - if let acceptKey = headers[headerWSAcceptName as NSString] as? NSString { - if acceptKey.length > 0 { - return 0 - } - } - } - return -1 - } - - /** - Read a 16 bit big endian value from a buffer - */ - private static func readUint16(_ buffer: UnsafePointer, offset: Int) -> UInt16 { - return (UInt16(buffer[offset + 0]) << 8) | UInt16(buffer[offset + 1]) - } - - /** - Read a 64 bit big endian value from a buffer - */ - private static func readUint64(_ buffer: UnsafePointer, offset: Int) -> UInt64 { - var value = UInt64(0) - for i in 0...7 { - value = (value << 8) | UInt64(buffer[offset + i]) - } - return value - } - - /** - Write a 16-bit big endian value to a buffer. - */ - private static func writeUint16(_ buffer: UnsafeMutablePointer, offset: Int, value: UInt16) { - buffer[offset + 0] = UInt8(value >> 8) - buffer[offset + 1] = UInt8(value & 0xff) - } - - /** - Write a 64-bit big endian value to a buffer. - */ - private static func writeUint64(_ buffer: UnsafeMutablePointer, offset: Int, value: UInt64) { - for i in 0...7 { - buffer[offset + i] = UInt8((value >> (8*UInt64(7 - i))) & 0xff) - } - } - - /** - Process one message at the start of `buffer`. Return another buffer (sharing storage) that contains the leftover contents of `buffer` that I didn't process. - */ - private func processOneRawMessage(inBuffer buffer: UnsafeBufferPointer) -> UnsafeBufferPointer { - let response = readStack.last - guard let baseAddress = buffer.baseAddress else {return emptyBuffer} - let bufferLen = buffer.count - if response != nil && bufferLen < 2 { - fragBuffer = Data(buffer: buffer) - return emptyBuffer - } - if let response = response, response.bytesLeft > 0 { - var len = response.bytesLeft - var extra = bufferLen - response.bytesLeft - if response.bytesLeft > bufferLen { - len = bufferLen - extra = 0 - } - response.bytesLeft -= len - response.buffer?.append(Data(bytes: baseAddress, count: len)) - _ = processResponse(response) - return buffer.fromOffset(bufferLen - extra) - } else { - let isFin = (FinMask & baseAddress[0]) - let receivedOpcode = OpCode(rawValue: (OpCodeMask & baseAddress[0])) - let isMasked = (MaskMask & baseAddress[1]) - let payloadLen = (PayloadLenMask & baseAddress[1]) - var offset = 2 - if (isMasked > 0 || (RSVMask & baseAddress[0]) > 0) && receivedOpcode != .pong { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("masked and rsv data is not currently supported", code: errCode)) - writeError(errCode) - return emptyBuffer - } - let isControlFrame = (receivedOpcode == .connectionClose || receivedOpcode == .ping) - if !isControlFrame && (receivedOpcode != .binaryFrame && receivedOpcode != .continueFrame && - receivedOpcode != .textFrame && receivedOpcode != .pong) { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("unknown opcode: \(receivedOpcode)", code: errCode)) - writeError(errCode) - return emptyBuffer - } - if isControlFrame && isFin == 0 { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("control frames can't be fragmented", code: errCode)) - writeError(errCode) - return emptyBuffer - } - var closeCode = CloseCode.normal.rawValue - if receivedOpcode == .connectionClose { - if payloadLen == 1 { - closeCode = CloseCode.protocolError.rawValue - } else if payloadLen > 1 { - closeCode = WebSocket.readUint16(baseAddress, offset: offset) - if closeCode < 1000 || (closeCode > 1003 && closeCode < 1007) || (closeCode > 1011 && closeCode < 3000) { - closeCode = CloseCode.protocolError.rawValue - } - } - if payloadLen < 2 { - doDisconnect(errorWithDetail("connection closed by server", code: closeCode)) - writeError(closeCode) - return emptyBuffer - } - } else if isControlFrame && payloadLen > 125 { - writeError(CloseCode.protocolError.rawValue) - return emptyBuffer - } - var dataLength = UInt64(payloadLen) - if dataLength == 127 { - dataLength = WebSocket.readUint64(baseAddress, offset: offset) - offset += MemoryLayout.size - } else if dataLength == 126 { - dataLength = UInt64(WebSocket.readUint16(baseAddress, offset: offset)) - offset += MemoryLayout.size - } - if bufferLen < offset || UInt64(bufferLen - offset) < dataLength { - fragBuffer = Data(bytes: baseAddress, count: bufferLen) - return emptyBuffer - } - var len = dataLength - if dataLength > UInt64(bufferLen) { - len = UInt64(bufferLen-offset) - } - let data: Data - if len < 0 { - len = 0 - data = Data() - } else { - if receivedOpcode == .connectionClose && len > 0 { - let size = MemoryLayout.size - offset += size - len -= UInt64(size) - } - data = Data(bytes: baseAddress+offset, count: Int(len)) - } - if receivedOpcode == .connectionClose { - var closeReason = "connection closed by server" - if let customCloseReason = String(data: data, encoding: .utf8) { - closeReason = customCloseReason - } else { - closeCode = CloseCode.protocolError.rawValue - } - doDisconnect(errorWithDetail(closeReason, code: closeCode)) - writeError(closeCode) - return emptyBuffer - } - if receivedOpcode == .pong { - if canDispatch { - callbackQueue.async { [weak self] in - guard let s = self else { return } - let pongData: Data? = data.count > 0 ? data : nil - s.onPong?(pongData) - s.pongDelegate?.websocketDidReceivePong(socket: s, data: pongData) - } - } - return buffer.fromOffset(offset + Int(len)) - } - var response = readStack.last - if isControlFrame { - response = nil // Don't append pings. - } - if isFin == 0 && receivedOpcode == .continueFrame && response == nil { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("continue frame before a binary or text frame", code: errCode)) - writeError(errCode) - return emptyBuffer - } - var isNew = false - if response == nil { - if receivedOpcode == .continueFrame { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("first frame can't be a continue frame", - code: errCode)) - writeError(errCode) - return emptyBuffer - } - isNew = true - response = WSResponse() - response!.code = receivedOpcode! - response!.bytesLeft = Int(dataLength) - response!.buffer = NSMutableData(data: data) - } else { - if receivedOpcode == .continueFrame { - response!.bytesLeft = Int(dataLength) - } else { - let errCode = CloseCode.protocolError.rawValue - doDisconnect(errorWithDetail("second and beyond of fragment message must be a continue frame", - code: errCode)) - writeError(errCode) - return emptyBuffer - } - response!.buffer!.append(data) - } - if let response = response { - response.bytesLeft -= Int(len) - response.frameCount += 1 - response.isFin = isFin > 0 ? true : false - if isNew { - readStack.append(response) - } - _ = processResponse(response) - } - - let step = Int(offset + numericCast(len)) - return buffer.fromOffset(step) - } - } - - /** - Process all messages in the buffer if possible. - */ - private func processRawMessagesInBuffer(_ pointer: UnsafePointer, bufferLen: Int) { - var buffer = UnsafeBufferPointer(start: pointer, count: bufferLen) - repeat { - buffer = processOneRawMessage(inBuffer: buffer) - } while buffer.count >= 2 - if buffer.count > 0 { - fragBuffer = Data(buffer: buffer) - } - } - - /** - Process the finished response of a buffer. - */ - private func processResponse(_ response: WSResponse) -> Bool { - if response.isFin && response.bytesLeft <= 0 { - if response.code == .ping { - let data = response.buffer! // local copy so it is perverse for writing - dequeueWrite(data as Data, code: .pong) - } else if response.code == .textFrame { - let str: NSString? = NSString(data: response.buffer! as Data, encoding: String.Encoding.utf8.rawValue) - if str == nil { - writeError(CloseCode.encoding.rawValue) - return false - } - if canDispatch { - callbackQueue.async { [weak self] in - guard let s = self else { return } - s.onText?(str! as String) - s.delegate?.websocketDidReceiveMessage(socket: s, text: str! as String) - } - } - } else if response.code == .binaryFrame { - if canDispatch { - let data = response.buffer! // local copy so it is perverse for writing - callbackQueue.async { [weak self] in - guard let s = self else { return } - s.onData?(data as Data) - s.delegate?.websocketDidReceiveData(socket: s, data: data as Data) - } - } - } - readStack.removeLast() - return true - } - return false - } - - /** - Create an error - */ - private func errorWithDetail(_ detail: String, code: UInt16) -> NSError { - var details = [String: String]() - details[NSLocalizedDescriptionKey] = detail - return NSError(domain: WebSocket.ErrorDomain, code: Int(code), userInfo: details) - } - - /** - Write an error to the socket - */ - private func writeError(_ code: UInt16) { - let buf = NSMutableData(capacity: MemoryLayout.size) - let buffer = UnsafeMutableRawPointer(mutating: buf!.bytes).assumingMemoryBound(to: UInt8.self) - WebSocket.writeUint16(buffer, offset: 0, value: code) - dequeueWrite(Data(bytes: buffer, count: MemoryLayout.size), code: .connectionClose) - } - - /** - Used to write things to the stream - */ - private func dequeueWrite(_ data: Data, code: OpCode, writeCompletion: (() -> ())? = nil) { - writeQueue.addOperation { [weak self] in - //stream isn't ready, let's wait - guard let s = self else { return } - var offset = 2 - let dataLength = data.count - let frame = NSMutableData(capacity: dataLength + s.MaxFrameSize) - let buffer = UnsafeMutableRawPointer(frame!.mutableBytes).assumingMemoryBound(to: UInt8.self) - buffer[0] = s.FinMask | code.rawValue - if dataLength < 126 { - buffer[1] = CUnsignedChar(dataLength) - } else if dataLength <= Int(UInt16.max) { - buffer[1] = 126 - WebSocket.writeUint16(buffer, offset: offset, value: UInt16(dataLength)) - offset += MemoryLayout.size - } else { - buffer[1] = 127 - WebSocket.writeUint64(buffer, offset: offset, value: UInt64(dataLength)) - offset += MemoryLayout.size - } - buffer[1] |= s.MaskMask - let maskKey = UnsafeMutablePointer(buffer + offset) - _ = SecRandomCopyBytes(kSecRandomDefault, Int(MemoryLayout.size), maskKey) - offset += MemoryLayout.size - - for i in 0...size] - offset += 1 - } - var total = 0 - while true { - guard let outStream = s.outputStream else { break } - let writeBuffer = UnsafeRawPointer(frame!.bytes+total).assumingMemoryBound(to: UInt8.self) - let len = outStream.write(writeBuffer, maxLength: offset-total) - if len < 0 { - var error: Error? - if let streamError = outStream.streamError { - error = streamError - } else { - let errCode = InternalErrorCode.outputStreamWriteError.rawValue - error = s.errorWithDetail("output stream error during write", code: errCode) - } - s.doDisconnect(error as NSError?) - break - } else { - total += len - } - if total >= offset { - if let queue = self?.callbackQueue, let callback = writeCompletion { - queue.async { - callback() - } - } - - break - } - } - - } - } - - /** - Used to preform the disconnect delegate - */ - private func doDisconnect(_ error: NSError?) { - guard !didDisconnect else { return } - didDisconnect = true - connected = false - guard canDispatch else {return} - callbackQueue.async { [weak self] in - guard let s = self else { return } - s.onDisconnect?(error) - s.delegate?.websocketDidDisconnect(socket: s, error: error) - let userInfo = error.map{ [WebsocketDisconnectionErrorKeyName: $0] } - s.notificationCenter.post(name: NSNotification.Name(WebsocketDidDisconnectNotification), object: self, userInfo: userInfo) - } - } - - // MARK: - Deinit - - deinit { - mutex.lock() - readyToWrite = false - mutex.unlock() - cleanupStream() - } - -} - -private extension Data { - - init(buffer: UnsafeBufferPointer) { - self.init(bytes: buffer.baseAddress!, count: buffer.count) - } - -} - -private extension UnsafeBufferPointer { - - func fromOffset(_ offset: Int) -> UnsafeBufferPointer { - return UnsafeBufferPointer(start: baseAddress?.advanced(by: offset), count: count - offset) - } - -} - -private let emptyBuffer = UnsafeBufferPointer(start: nil, count: 0) diff --git a/Example/Pods/SwiftyJSON/LICENSE b/Example/Pods/SwiftyJSON/LICENSE index 916a0ac..68e3fd7 100644 --- a/Example/Pods/SwiftyJSON/LICENSE +++ b/Example/Pods/SwiftyJSON/LICENSE @@ -1,6 +1,6 @@ The MIT License (MIT) -Copyright (c) 2016 Ruoyu Fu +Copyright (c) 2017 Ruoyu Fu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/SwiftyJSON/README.md b/Example/Pods/SwiftyJSON/README.md index 0f29db0..7a10e29 100644 --- a/Example/Pods/SwiftyJSON/README.md +++ b/Example/Pods/SwiftyJSON/README.md @@ -1,9 +1,15 @@ # SwiftyJSON -[![Travis CI](https://travis-ci.org/SwiftyJSON/SwiftyJSON.svg?branch=master)](https://travis-ci.org/SwiftyJSON/SwiftyJSON) [![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![CocoaPods](https://img.shields.io/cocoapods/v/SwiftyJSON.svg) ![Platform](https://img.shields.io/badge/platforms-iOS%208.0+%20%7C%20macOS%2010.10+%20%7C%20tvOS%209.0+%20%7C%20watchOS%202.0+-333333.svg) +[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![CocoaPods](https://img.shields.io/cocoapods/v/SwiftyJSON.svg) ![Platform](https://img.shields.io/badge/platforms-iOS%208.0%20%7C%20macOS%2010.10%20%7C%20tvOS%209.0%20%7C%20watchOS%203.0-F28D00.svg) [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com) SwiftyJSON makes it easy to deal with JSON data in Swift. +Platform | Build Status +---------| --------------| +*OS | [![Travis CI](https://travis-ci.org/SwiftyJSON/SwiftyJSON.svg?branch=master)](https://travis-ci.org/SwiftyJSON/SwiftyJSON) | +[Linux](https://github.com/IBM-Swift/SwiftyJSON) | [![Build Status](https://travis-ci.org/IBM-Swift/SwiftyJSON.svg?branch=master)](https://travis-ci.org/IBM-Swift/SwiftyJSON) | + + 1. [Why is the typical JSON handling in Swift NOT good](#why-is-the-typical-json-handling-in-swift-not-good) 2. [Requirements](#requirements) 3. [Integration](#integration) @@ -17,9 +23,10 @@ SwiftyJSON makes it easy to deal with JSON data in Swift. - [Setter](#setter) - [Raw object](#raw-object) - [Literal convertibles](#literal-convertibles) + - [Merging](#merging) 5. [Work with Alamofire](#work-with-alamofire) - -> For Legacy Swift support, take a look at the [swift2 branch](https://github.com/SwiftyJSON/SwiftyJSON/tree/swift2) +6. [Work with Moya](#work-with-moya) +7. [SwiftyJSON Model Generator](#swiftyjson-model-generator) > [中文介绍](http://tangplin.github.io/swiftyjson/) @@ -28,7 +35,7 @@ SwiftyJSON makes it easy to deal with JSON data in Swift. Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types. -Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to Twitter's API https://dev.twitter.com/docs/api/1.1/get/statuses/home_timeline). +Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to [Twitter's API](https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline)). The code would look like this: @@ -45,7 +52,7 @@ It's not good. Even if we use optional chaining, it would be messy: ```swift -if let JSONObject = try JSONSerialization.jsonObject(with: data,, options: .allowFragments) as? [[String: Any]], +if let JSONObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], let username = (JSONObject[0]["user"] as? [String: Any])?["name"] as? String { // There's our username } @@ -66,11 +73,12 @@ And don't worry about the Optional Wrapping thing. It's done for you automatical ```swift let json = JSON(data: dataFromNetworking) -if let userName = json[999999]["wrong_key"]["wrong_name"].string { +let result = json[999999]["wrong_key"]["wrong_name"] +if let userName = result.string { //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety } else { //Print the error - print(json[999999]["wrong_key"]["wrong_name"]) + print(result.error) } ``` @@ -83,45 +91,43 @@ if let userName = json[999999]["wrong_key"]["wrong_name"].string { #### CocoaPods (iOS 8+, OS X 10.9+) -You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON`by adding it to your `Podfile`: +You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON` by adding it to your `Podfile`: ```ruby platform :ios, '8.0' use_frameworks! target 'MyApp' do - pod 'SwiftyJSON' + pod 'SwiftyJSON', '~> 4.0' end ``` -Note that this requires CocoaPods version 36, and your iOS deployment target to be at least 8.0: - - #### Carthage (iOS 8+, OS X 10.9+) You can use [Carthage](https://github.com/Carthage/Carthage) to install `SwiftyJSON` by adding it to your `Cartfile`: ``` -github "SwiftyJSON/SwiftyJSON" +github "SwiftyJSON/SwiftyJSON" ~> 4.0 ``` +If you use Carthage to build your dependencies, make sure you have added `SwiftyJSON.framework` to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase. + #### Swift Package Manager You can use [The Swift Package Manager](https://swift.org/package-manager) to install `SwiftyJSON` by adding the proper description to your `Package.swift` file: ```swift +// swift-tools-version:4.0 import PackageDescription let package = Package( name: "YOUR_PROJECT_NAME", - targets: [], dependencies: [ - .Package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", versions: Version(1,0,0).. = json["list"].arrayValue ``` ```swift -//If not a Dictionary or nil, return [:] +// If not a Dictionary or nil, return [:] let user: Dictionary = json["user"].dictionaryValue ``` @@ -340,31 +355,36 @@ json.dictionaryObject = ["name":"Jack", "age":25] #### Raw object ```swift -let jsonObject: Any = json.object +let rawObject: Any = json.object ``` ```swift -if let jsonObject: Any = json.rawValue +let rawValue: Any = json.rawValue ``` ```swift //convert the JSON to raw NSData -if let data = json.rawData() { - //Do something you want +do { + let rawData = try json.rawData() + //Do something you want +} catch { + print("Error \(error)") } ``` ```swift //convert the JSON to a raw String -if let string = json.rawString() { - //Do something you want +if let rawString = json.rawString() { + //Do something you want +} else { + print("json.rawString is nil") } ``` #### Existence ```swift -//shows you whether value specified in JSON or not +// shows you whether value specified in JSON or not if json["name"].exists() ``` @@ -373,59 +393,54 @@ if json["name"].exists() For more info about literal convertibles: [Swift Literal Convertibles](http://nshipster.com/swift-literal-convertible/) ```swift -//StringLiteralConvertible +// StringLiteralConvertible let json: JSON = "I'm a json" ``` ```swift -//IntegerLiteralConvertible +/ /IntegerLiteralConvertible let json: JSON = 12345 ``` ```swift -//BooleanLiteralConvertible +// BooleanLiteralConvertible let json: JSON = true ``` ```swift -//FloatLiteralConvertible +// FloatLiteralConvertible let json: JSON = 2.8765 ``` ```swift -//DictionaryLiteralConvertible +// DictionaryLiteralConvertible let json: JSON = ["I":"am", "a":"json"] ``` ```swift -//ArrayLiteralConvertible +// ArrayLiteralConvertible let json: JSON = ["I", "am", "a", "json"] ``` ```swift -//NilLiteralConvertible -let json: JSON = nil -``` - -```swift -//With subscript in array +// With subscript in array var json: JSON = [1,2,3] json[0] = 100 json[1] = 200 json[2] = 300 -json[999] = 300 //Don't worry, nothing will happen +json[999] = 300 // Don't worry, nothing will happen ``` ```swift -//With subscript in dictionary +// With subscript in dictionary var json: JSON = ["name": "Jack", "age": 25] json["name"] = "Mike" -json["age"] = "25" //It's OK to set String +json["age"] = "25" // It's OK to set String json["address"] = "L.A." // Add the "address": "L.A." in json ``` ```swift -//Array & Dictionary +// Array & Dictionary var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]] json["list"][3]["what"] = "that" json["list",3,"what"] = "that" @@ -434,20 +449,79 @@ json[path] = "that" ``` ```swift -//With other JSON objects +// With other JSON objects let user: JSON = ["username" : "Steve", "password": "supersecurepassword"] let auth: JSON = [ - "user": user.object //use user.object instead of just user + "user": user.object, // use user.object instead of just user "apikey": "supersecretapitoken" ] ``` -## Work with Alamofire +#### Merging + +It is possible to merge one JSON into another JSON. Merging a JSON into another JSON adds all non existing values to the original JSON which are only present in the `other` JSON. + +If both JSONs contain a value for the same key, _mostly_ this value gets overwritten in the original JSON, but there are two cases where it provides some special treatment: + +- In case of both values being a `JSON.Type.array` the values form the array found in the `other` JSON getting appended to the original JSON's array value. +- In case of both values being a `JSON.Type.dictionary` both JSON-values are getting merged the same way the encapsulating JSON is merged. + +In case, where two fields in a JSON have a different types, the value will get always overwritten. + +There are two different fashions for merging: `merge` modifies the original JSON, whereas `merged` works non-destructively on a copy. + +```swift +let original: JSON = [ + "first_name": "John", + "age": 20, + "skills": ["Coding", "Reading"], + "address": [ + "street": "Front St", + "zip": "12345", + ] +] + +let update: JSON = [ + "last_name": "Doe", + "age": 21, + "skills": ["Writing"], + "address": [ + "zip": "12342", + "city": "New York City" + ] +] + +let updated = original.merge(with: update) +// [ +// "first_name": "John", +// "last_name": "Doe", +// "age": 21, +// "skills": ["Coding", "Reading", "Writing"], +// "address": [ +// "street": "Front St", +// "zip": "12342", +// "city": "New York City" +// ] +// ] +``` + +## String representation +There are two options available: +- use the default Swift one +- use a custom one that will handle optionals well and represent `nil` as `"null"`: +```swift +let dict = ["1":2, "2":"two", "3": nil] as [String: Any?] +let json = JSON(dict) +let representation = json.rawString(options: [.castNilToNSNull: true]) +// representation is "{\"1\":2,\"2\":\"two\",\"3\":null}", which represents {"1":2,"2":"two","3":null} +``` + +## Work with [Alamofire](https://github.com/Alamofire/Alamofire) SwiftyJSON nicely wraps the result of the Alamofire JSON response handler: ```swift -Alamofire.request(.GET, url).validate().responseJSON { response in +Alamofire.request(url, method: .get).validate().responseJSON { response in switch response.result { case .success(let value): let json = JSON(value) @@ -457,3 +531,32 @@ Alamofire.request(.GET, url).validate().responseJSON { response in } } ``` + +We also provide an extension of Alamofire for serializing NSData to SwiftyJSON's JSON. + +See: [Alamofire-SwiftyJSON](https://github.com/SwiftyJSON/Alamofire-SwiftyJSON) + + +## Work with [Moya](https://github.com/Moya/Moya) + +SwiftyJSON parse data to JSON: + +```swift +let provider = MoyaProvider() +provider.request(.showProducts) { result in + switch result { + case let .success(moyaResponse): + let data = moyaResponse.data + let json = JSON(data: data) // convert network data to json + print(json) + case let .failure(error): + print("error: \(error)") + } +} + +``` + +## SwiftyJSON Model Generator +Tools to generate SwiftyJSON Models +* [JSON Cafe](http://www.jsoncafe.com/) +* [JSON Export](https://github.com/Ahmed-Ali/JSONExport) diff --git a/Example/Pods/SwiftyJSON/Source/SwiftyJSON.swift b/Example/Pods/SwiftyJSON/Source/SwiftyJSON.swift deleted file mode 100644 index 3cf9e00..0000000 --- a/Example/Pods/SwiftyJSON/Source/SwiftyJSON.swift +++ /dev/null @@ -1,1344 +0,0 @@ -// SwiftyJSON.swift -// -// Copyright (c) 2014 - 2016 Ruoyu Fu, Pinglin Tang -// -// Permission is hereby granted, free of charge, to any person obtaining a copy -// of this software and associated documentation files (the "Software"), to deal -// in the Software without restriction, including without limitation the rights -// to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -// copies of the Software, and to permit persons to whom the Software is -// furnished to do so, subject to the following conditions: -// -// The above copyright notice and this permission notice shall be included in -// all copies or substantial portions of the Software. -// -// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -// OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -// THE SOFTWARE. - -import Foundation - -// MARK: - Error - -///Error domain -public let ErrorDomain: String = "SwiftyJSONErrorDomain" - -///Error code -public let ErrorUnsupportedType: Int = 999 -public let ErrorIndexOutOfBounds: Int = 900 -public let ErrorWrongType: Int = 901 -public let ErrorNotExist: Int = 500 -public let ErrorInvalidJSON: Int = 490 - -// MARK: - JSON Type - -/** - JSON's type definitions. - - See http://www.json.org - */ -public enum Type :Int{ - - case number - case string - case bool - case array - case dictionary - case null - case unknown -} - -// MARK: - JSON Base -public struct JSON { - - /** - Creates a JSON using the data. - - - parameter data: The NSData used to convert to json.Top level object in data is an NSArray or NSDictionary - - parameter opt: The JSON serialization reading options. `.AllowFragments` by default. - - parameter error: The NSErrorPointer used to return the error. `nil` by default. - - - returns: The created JSON - */ - public init(data:Data, options opt: JSONSerialization.ReadingOptions = .allowFragments, error: NSErrorPointer = nil) { - do { - let object: Any = try JSONSerialization.jsonObject(with: data, options: opt) - self.init(object) - } catch let aError as NSError { - if error != nil { - error?.pointee = aError - } - self.init(NSNull()) - } - } - - /** - Creates a JSON from JSON string - - parameter string: Normal json string like '{"a":"b"}' - - - returns: The created JSON - */ - public static func parse(_ string:String) -> JSON { - return string.data(using: String.Encoding.utf8) - .flatMap{ JSON(data: $0) } ?? JSON(NSNull()) - } - - /** - Creates a JSON using the object. - - - parameter object: The object must have the following properties: All objects are NSString/String, NSNumber/Int/Float/Double/Bool, NSArray/Array, NSDictionary/Dictionary, or NSNull; All dictionary keys are NSStrings/String; NSNumbers are not NaN or infinity. - - - returns: The created JSON - */ - public init(_ object: Any) { - self.object = object - } - - /** - Creates a JSON from a [JSON] - - - parameter jsonArray: A Swift array of JSON objects - - - returns: The created JSON - */ - public init(_ jsonArray:[JSON]) { - self.init(jsonArray.map { $0.object }) - } - - /** - Creates a JSON from a [String: JSON] - - - parameter jsonDictionary: A Swift dictionary of JSON objects - - - returns: The created JSON - */ - public init(_ jsonDictionary:[String: JSON]) { - var dictionary = [String: Any](minimumCapacity: jsonDictionary.count) - for (key, json) in jsonDictionary { - dictionary[key] = json.object - } - self.init(dictionary) - } - - /// Private object - fileprivate var rawArray: [Any] = [] - fileprivate var rawDictionary: [String : Any] = [:] - fileprivate var rawString: String = "" - fileprivate var rawNumber: NSNumber = 0 - fileprivate var rawNull: NSNull = NSNull() - fileprivate var rawBool: Bool = false - /// Private type - fileprivate var _type: Type = .null - /// prviate error - fileprivate var _error: NSError? = nil - - /// Object in JSON - public var object: Any { - get { - switch self.type { - case .array: - return self.rawArray - case .dictionary: - return self.rawDictionary - case .string: - return self.rawString - case .number: - return self.rawNumber - case .bool: - return self.rawBool - default: - return self.rawNull - } - } - set { - _error = nil - switch newValue { - case let number as NSNumber: - if number.isBool { - _type = .bool - self.rawBool = number.boolValue - } else { - _type = .number - self.rawNumber = number - } - case let string as String: - _type = .string - self.rawString = string - case _ as NSNull: - _type = .null - case let array as [JSON]: - _type = .array - self.rawArray = array.map { $0.object } - case let array as [Any]: - _type = .array - self.rawArray = array - case let dictionary as [String : Any]: - _type = .dictionary - self.rawDictionary = dictionary - default: - _type = .unknown - _error = NSError(domain: ErrorDomain, code: ErrorUnsupportedType, userInfo: [NSLocalizedDescriptionKey: "It is a unsupported type"]) - } - } - } - - /// JSON type - public var type: Type { get { return _type } } - - /// Error in JSON - public var error: NSError? { get { return self._error } } - - /// The static null JSON - @available(*, unavailable, renamed:"null") - public static var nullJSON: JSON { get { return null } } - public static var null: JSON { get { return JSON(NSNull()) } } -} - -public enum JSONIndex:Comparable -{ - case array(Int) - case dictionary(DictionaryIndex) - case null - - static public func ==(lhs: JSONIndex, rhs: JSONIndex) -> Bool - { - switch (lhs, rhs) - { - case (.array(let left), .array(let right)): - return left == right - case (.dictionary(let left), .dictionary(let right)): - return left == right - case (.null, .null): return true - default: - return false - } - } - - static public func <(lhs: JSONIndex, rhs: JSONIndex) -> Bool - { - switch (lhs, rhs) - { - case (.array(let left), .array(let right)): - return left < right - case (.dictionary(let left), .dictionary(let right)): - return left < right - default: - return false - } - } - -} - -public enum JSONRawIndex: Comparable -{ - case array(Int) - case dictionary(DictionaryIndex) - case null - - static public func ==(lhs: JSONRawIndex, rhs: JSONRawIndex) -> Bool - { - switch (lhs, rhs) - { - case (.array(let left), .array(let right)): - return left == right - case (.dictionary(let left), .dictionary(let right)): - return left == right - case (.null, .null): return true - default: - return false - } - } - - static public func <(lhs: JSONRawIndex, rhs: JSONRawIndex) -> Bool - { - switch (lhs, rhs) - { - case (.array(let left), .array(let right)): - return left < right - case (.dictionary(let left), .dictionary(let right)): - return left < right - default: - return false - } - } - - -} - -extension JSON: Collection -{ - - public typealias Index = JSONRawIndex - - public var startIndex: Index - { - switch type - { - case .array: - return .array(rawArray.startIndex) - case .dictionary: - return .dictionary(rawDictionary.startIndex) - default: - return .null - } - } - - public var endIndex: Index - { - switch type - { - case .array: - return .array(rawArray.endIndex) - case .dictionary: - return .dictionary(rawDictionary.endIndex) - default: - return .null - } - } - - public func index(after i: Index) -> Index - { - switch i - { - case .array(let idx): - return .array(rawArray.index(after: idx)) - case .dictionary(let idx): - return .dictionary(rawDictionary.index(after: idx)) - default: - return .null - } - - } - - public subscript (position: Index) -> (String, JSON) - { - switch position - { - case .array(let idx): - return (String(idx), JSON(self.rawArray[idx])) - case .dictionary(let idx): - let (key, value) = self.rawDictionary[idx] - return (key, JSON(value)) - default: - return ("", JSON.null) - } - } - - -} - -// MARK: - Subscript - -/** - * To mark both String and Int can be used in subscript. - */ -public enum JSONKey -{ - case index(Int) - case key(String) -} - -public protocol JSONSubscriptType { - var jsonKey:JSONKey { get } -} - -extension Int: JSONSubscriptType { - public var jsonKey:JSONKey { - return JSONKey.index(self) - } -} - -extension String: JSONSubscriptType { - public var jsonKey:JSONKey { - return JSONKey.key(self) - } -} - -extension JSON { - - /// If `type` is `.Array`, return json whose object is `array[index]`, otherwise return null json with error. - fileprivate subscript(index index: Int) -> JSON { - get { - if self.type != .array { - var r = JSON.null - r._error = self._error ?? NSError(domain: ErrorDomain, code: ErrorWrongType, userInfo: [NSLocalizedDescriptionKey: "Array[\(index)] failure, It is not an array"]) - return r - } else if index >= 0 && index < self.rawArray.count { - return JSON(self.rawArray[index]) - } else { - var r = JSON.null - r._error = NSError(domain: ErrorDomain, code:ErrorIndexOutOfBounds , userInfo: [NSLocalizedDescriptionKey: "Array[\(index)] is out of bounds"]) - return r - } - } - set { - if self.type == .array { - if self.rawArray.count > index && newValue.error == nil { - self.rawArray[index] = newValue.object - } - } - } - } - - /// If `type` is `.Dictionary`, return json whose object is `dictionary[key]` , otherwise return null json with error. - fileprivate subscript(key key: String) -> JSON { - get { - var r = JSON.null - if self.type == .dictionary { - if let o = self.rawDictionary[key] { - r = JSON(o) - } else { - r._error = NSError(domain: ErrorDomain, code: ErrorNotExist, userInfo: [NSLocalizedDescriptionKey: "Dictionary[\"\(key)\"] does not exist"]) - } - } else { - r._error = self._error ?? NSError(domain: ErrorDomain, code: ErrorWrongType, userInfo: [NSLocalizedDescriptionKey: "Dictionary[\"\(key)\"] failure, It is not an dictionary"]) - } - return r - } - set { - if self.type == .dictionary && newValue.error == nil { - self.rawDictionary[key] = newValue.object - } - } - } - - /// If `sub` is `Int`, return `subscript(index:)`; If `sub` is `String`, return `subscript(key:)`. - fileprivate subscript(sub sub: JSONSubscriptType) -> JSON { - get { - switch sub.jsonKey { - case .index(let index): return self[index: index] - case .key(let key): return self[key: key] - } - } - set { - switch sub.jsonKey { - case .index(let index): self[index: index] = newValue - case .key(let key): self[key: key] = newValue - } - } - } - - /** - Find a json in the complex data structures by using array of Int and/or String as path. - - - parameter path: The target json's path. Example: - - let json = JSON[data] - let path = [9,"list","person","name"] - let name = json[path] - - The same as: let name = json[9]["list"]["person"]["name"] - - - returns: Return a json found by the path or a null json with error - */ - public subscript(path: [JSONSubscriptType]) -> JSON { - get { - return path.reduce(self) { $0[sub: $1] } - } - set { - switch path.count { - case 0: - return - case 1: - self[sub:path[0]].object = newValue.object - default: - var aPath = path; aPath.remove(at: 0) - var nextJSON = self[sub: path[0]] - nextJSON[aPath] = newValue - self[sub: path[0]] = nextJSON - } - } - } - - /** - Find a json in the complex data structures by using array of Int and/or String as path. - - - parameter path: The target json's path. Example: - - let name = json[9,"list","person","name"] - - The same as: let name = json[9]["list"]["person"]["name"] - - - returns: Return a json found by the path or a null json with error - */ - public subscript(path: JSONSubscriptType...) -> JSON { - get { - return self[path] - } - set { - self[path] = newValue - } - } -} - -// MARK: - LiteralConvertible - -extension JSON: Swift.ExpressibleByStringLiteral { - - public init(stringLiteral value: StringLiteralType) { - self.init(value as Any) - } - - public init(extendedGraphemeClusterLiteral value: StringLiteralType) { - self.init(value as Any) - } - - public init(unicodeScalarLiteral value: StringLiteralType) { - self.init(value as Any) - } -} - -extension JSON: Swift.ExpressibleByIntegerLiteral { - - public init(integerLiteral value: IntegerLiteralType) { - self.init(value as Any) - } -} - -extension JSON: Swift.ExpressibleByBooleanLiteral { - - public init(booleanLiteral value: BooleanLiteralType) { - self.init(value as Any) - } -} - -extension JSON: Swift.ExpressibleByFloatLiteral { - - public init(floatLiteral value: FloatLiteralType) { - self.init(value as Any) - } -} - -extension JSON: Swift.ExpressibleByDictionaryLiteral { - public init(dictionaryLiteral elements: (String, Any)...) { - let array = elements - self.init(dictionaryLiteral: array) - } - - public init(dictionaryLiteral elements: [(String, Any)]) { - let jsonFromDictionaryLiteral: ([String : Any]) -> JSON = { dictionary in - let initializeElement = Array(dictionary.keys).flatMap { key -> (String, Any)? in - if let value = dictionary[key] { - return (key, value) - } - return nil - } - return JSON(dictionaryLiteral: initializeElement) - } - - var dict = [String : Any](minimumCapacity: elements.count) - - for element in elements { - let elementToSet: Any - if let json = element.1 as? JSON { - elementToSet = json.object - } else if let jsonArray = element.1 as? [JSON] { - elementToSet = JSON(jsonArray).object - } else if let dictionary = element.1 as? [String : Any] { - elementToSet = jsonFromDictionaryLiteral(dictionary).object - } else if let dictArray = element.1 as? [[String : Any]] { - let jsonArray = dictArray.map { jsonFromDictionaryLiteral($0) } - elementToSet = JSON(jsonArray).object - } else { - elementToSet = element.1 - } - dict[element.0] = elementToSet - } - - self.init(dict) - } -} - -extension JSON: Swift.ExpressibleByArrayLiteral { - - public init(arrayLiteral elements: Any...) { - self.init(elements as Any) - } -} - -extension JSON: Swift.ExpressibleByNilLiteral { - - @available(*, deprecated, message: "use JSON.null instead. Will be removed in future versions") - public init(nilLiteral: ()) { - self.init(NSNull() as Any) - } -} - -// MARK: - Raw - -extension JSON: Swift.RawRepresentable { - - public init?(rawValue: Any) { - if JSON(rawValue).type == .unknown { - return nil - } else { - self.init(rawValue) - } - } - - public var rawValue: Any { - return self.object - } - - public func rawData(options opt: JSONSerialization.WritingOptions = JSONSerialization.WritingOptions(rawValue: 0)) throws -> Data { - guard JSONSerialization.isValidJSONObject(self.object) else { - throw NSError(domain: ErrorDomain, code: ErrorInvalidJSON, userInfo: [NSLocalizedDescriptionKey: "JSON is invalid"]) - } - - return try JSONSerialization.data(withJSONObject: self.object, options: opt) - } - - public func rawString(_ encoding: String.Encoding = String.Encoding.utf8, options opt: JSONSerialization.WritingOptions = .prettyPrinted) -> String? { - switch self.type { - case .array, .dictionary: - do { - let data = try self.rawData(options: opt) - return String(data: data, encoding: encoding) - } catch _ { - return nil - } - case .string: - return self.rawString - case .number: - return self.rawNumber.stringValue - case .bool: - return self.rawBool.description - case .null: - return "null" - default: - return nil - } - } -} - -// MARK: - Printable, DebugPrintable - -extension JSON: Swift.CustomStringConvertible, Swift.CustomDebugStringConvertible { - - public var description: String { - if let string = self.rawString(options:.prettyPrinted) { - return string - } else { - return "unknown" - } - } - - public var debugDescription: String { - return description - } -} - -// MARK: - Array - -extension JSON { - - //Optional [JSON] - public var array: [JSON]? { - get { - if self.type == .array { - return self.rawArray.map{ JSON($0) } - } else { - return nil - } - } - } - - //Non-optional [JSON] - public var arrayValue: [JSON] { - get { - return self.array ?? [] - } - } - - //Optional [Any] - public var arrayObject: [Any]? { - get { - switch self.type { - case .array: - return self.rawArray - default: - return nil - } - } - set { - if let array = newValue { - self.object = array as Any - } else { - self.object = NSNull() - } - } - } -} - -// MARK: - Dictionary - -extension JSON { - - //Optional [String : JSON] - public var dictionary: [String : JSON]? { - if self.type == .dictionary { - var d = [String : JSON](minimumCapacity: rawDictionary.count) - for (key, value) in rawDictionary { - d[key] = JSON(value) - } - return d - } else { - return nil - } - } - - //Non-optional [String : JSON] - public var dictionaryValue: [String : JSON] { - return self.dictionary ?? [:] - } - - //Optional [String : Any] - - public var dictionaryObject: [String : Any]? { - get { - switch self.type { - case .dictionary: - return self.rawDictionary - default: - return nil - } - } - set { - if let v = newValue { - self.object = v as Any - } else { - self.object = NSNull() - } - } - } -} - -// MARK: - Bool - -extension JSON { // : Swift.Bool - - //Optional bool - public var bool: Bool? { - get { - switch self.type { - case .bool: - return self.rawBool - default: - return nil - } - } - set { - if let newValue = newValue { - self.object = newValue as Bool - } else { - self.object = NSNull() - } - } - } - - //Non-optional bool - public var boolValue: Bool { - get { - switch self.type { - case .bool: - return self.rawBool - case .number: - return self.rawNumber.boolValue - case .string: - return ["true", "y", "t"].contains() { (truthyString) in - return self.rawString.caseInsensitiveCompare(truthyString) == .orderedSame - } - default: - return false - } - } - set { - self.object = newValue - } - } -} - -// MARK: - String - -extension JSON { - - //Optional string - public var string: String? { - get { - switch self.type { - case .string: - return self.object as? String - default: - return nil - } - } - set { - if let newValue = newValue { - self.object = NSString(string:newValue) - } else { - self.object = NSNull() - } - } - } - - //Non-optional string - public var stringValue: String { - get { - switch self.type { - case .string: - return self.object as? String ?? "" - case .number: - return self.rawNumber.stringValue - case .bool: - return (self.object as? Bool).map { String($0) } ?? "" - default: - return "" - } - } - set { - self.object = NSString(string:newValue) - } - } -} - -// MARK: - Number -extension JSON { - - //Optional number - public var number: NSNumber? { - get { - switch self.type { - case .number: - return self.rawNumber - case .bool: - return NSNumber(value: self.rawBool ? 1 : 0) - default: - return nil - } - } - set { - self.object = newValue ?? NSNull() - } - } - - //Non-optional number - public var numberValue: NSNumber { - get { - switch self.type { - case .string: - let decimal = NSDecimalNumber(string: self.object as? String) - if decimal == NSDecimalNumber.notANumber { // indicates parse error - return NSDecimalNumber.zero - } - return decimal - case .number: - return self.object as? NSNumber ?? NSNumber(value: 0) - case .bool: - return NSNumber(value: self.rawBool ? 1 : 0) - default: - return NSNumber(value: 0.0) - } - } - set { - self.object = newValue - } - } -} - -//MARK: - Null -extension JSON { - - public var null: NSNull? { - get { - switch self.type { - case .null: - return self.rawNull - default: - return nil - } - } - set { - self.object = NSNull() - } - } - public func exists() -> Bool{ - if let errorValue = error, errorValue.code == ErrorNotExist || - errorValue.code == ErrorIndexOutOfBounds || - errorValue.code == ErrorWrongType { - return false - } - return true - } -} - -//MARK: - URL -extension JSON { - - //Optional URL - public var URL: URL? { - get { - switch self.type { - case .string: - if let encodedString_ = self.rawString.addingPercentEncoding(withAllowedCharacters: CharacterSet.urlQueryAllowed) { - // We have to use `Foundation.URL` otherwise it conflicts with the variable name. - return Foundation.URL(string: encodedString_) - } else { - return nil - } - default: - return nil - } - } - set { - self.object = newValue?.absoluteString ?? NSNull() - } - } -} - -// MARK: - Int, Double, Float, Int8, Int16, Int32, Int64 - -extension JSON { - - public var double: Double? { - get { - return self.number?.doubleValue - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var doubleValue: Double { - get { - return self.numberValue.doubleValue - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var float: Float? { - get { - return self.number?.floatValue - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var floatValue: Float { - get { - return self.numberValue.floatValue - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var int: Int? - { - get - { - return self.number?.intValue - } - set - { - if let newValue = newValue - { - self.object = NSNumber(value: newValue) - } else - { - self.object = NSNull() - } - } - } - - public var intValue: Int { - get { - return self.numberValue.intValue - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var uInt: UInt? { - get { - return self.number?.uintValue - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var uIntValue: UInt { - get { - return self.numberValue.uintValue - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var int8: Int8? { - get { - return self.number?.int8Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var int8Value: Int8 { - get { - return self.numberValue.int8Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var uInt8: UInt8? { - get { - return self.number?.uint8Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var uInt8Value: UInt8 { - get { - return self.numberValue.uint8Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var int16: Int16? { - get { - return self.number?.int16Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var int16Value: Int16 { - get { - return self.numberValue.int16Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var uInt16: UInt16? { - get { - return self.number?.uint16Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var uInt16Value: UInt16 { - get { - return self.numberValue.uint16Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var int32: Int32? { - get { - return self.number?.int32Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var int32Value: Int32 { - get { - return self.numberValue.int32Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var uInt32: UInt32? { - get { - return self.number?.uint32Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var uInt32Value: UInt32 { - get { - return self.numberValue.uint32Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var int64: Int64? { - get { - return self.number?.int64Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var int64Value: Int64 { - get { - return self.numberValue.int64Value - } - set { - self.object = NSNumber(value: newValue) - } - } - - public var uInt64: UInt64? { - get { - return self.number?.uint64Value - } - set { - if let newValue = newValue { - self.object = NSNumber(value: newValue) - } else { - self.object = NSNull() - } - } - } - - public var uInt64Value: UInt64 { - get { - return self.numberValue.uint64Value - } - set { - self.object = NSNumber(value: newValue) - } - } -} - -//MARK: - Comparable -extension JSON : Swift.Comparable {} - -public func ==(lhs: JSON, rhs: JSON) -> Bool { - - switch (lhs.type, rhs.type) { - case (.number, .number): - return lhs.rawNumber == rhs.rawNumber - case (.string, .string): - return lhs.rawString == rhs.rawString - case (.bool, .bool): - return lhs.rawBool == rhs.rawBool - case (.array, .array): - return lhs.rawArray as NSArray == rhs.rawArray as NSArray - case (.dictionary, .dictionary): - return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary - case (.null, .null): - return true - default: - return false - } -} - -public func <=(lhs: JSON, rhs: JSON) -> Bool { - - switch (lhs.type, rhs.type) { - case (.number, .number): - return lhs.rawNumber <= rhs.rawNumber - case (.string, .string): - return lhs.rawString <= rhs.rawString - case (.bool, .bool): - return lhs.rawBool == rhs.rawBool - case (.array, .array): - return lhs.rawArray as NSArray == rhs.rawArray as NSArray - case (.dictionary, .dictionary): - return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary - case (.null, .null): - return true - default: - return false - } -} - -public func >=(lhs: JSON, rhs: JSON) -> Bool { - - switch (lhs.type, rhs.type) { - case (.number, .number): - return lhs.rawNumber >= rhs.rawNumber - case (.string, .string): - return lhs.rawString >= rhs.rawString - case (.bool, .bool): - return lhs.rawBool == rhs.rawBool - case (.array, .array): - return lhs.rawArray as NSArray == rhs.rawArray as NSArray - case (.dictionary, .dictionary): - return lhs.rawDictionary as NSDictionary == rhs.rawDictionary as NSDictionary - case (.null, .null): - return true - default: - return false - } -} - -public func >(lhs: JSON, rhs: JSON) -> Bool { - - switch (lhs.type, rhs.type) { - case (.number, .number): - return lhs.rawNumber > rhs.rawNumber - case (.string, .string): - return lhs.rawString > rhs.rawString - default: - return false - } -} - -public func <(lhs: JSON, rhs: JSON) -> Bool { - - switch (lhs.type, rhs.type) { - case (.number, .number): - return lhs.rawNumber < rhs.rawNumber - case (.string, .string): - return lhs.rawString < rhs.rawString - default: - return false - } -} - -private let trueNumber = NSNumber(value: true) -private let falseNumber = NSNumber(value: false) -private let trueObjCType = String(cString: trueNumber.objCType) -private let falseObjCType = String(cString: falseNumber.objCType) - -// MARK: - NSNumber: Comparable - -extension NSNumber { - var isBool:Bool { - get { - let objCType = String(cString: self.objCType) - if (self.compare(trueNumber) == .orderedSame && objCType == trueObjCType) || (self.compare(falseNumber) == .orderedSame && objCType == falseObjCType){ - return true - } else { - return false - } - } - } -} - -func ==(lhs: NSNumber, rhs: NSNumber) -> Bool { - switch (lhs.isBool, rhs.isBool) { - case (false, true): - return false - case (true, false): - return false - default: - return lhs.compare(rhs) == .orderedSame - } -} - -func !=(lhs: NSNumber, rhs: NSNumber) -> Bool { - return !(lhs == rhs) -} - -func <(lhs: NSNumber, rhs: NSNumber) -> Bool { - - switch (lhs.isBool, rhs.isBool) { - case (false, true): - return false - case (true, false): - return false - default: - return lhs.compare(rhs) == .orderedAscending - } -} - -func >(lhs: NSNumber, rhs: NSNumber) -> Bool { - - switch (lhs.isBool, rhs.isBool) { - case (false, true): - return false - case (true, false): - return false - default: - return lhs.compare(rhs) == ComparisonResult.orderedDescending - } -} - -func <=(lhs: NSNumber, rhs: NSNumber) -> Bool { - - switch (lhs.isBool, rhs.isBool) { - case (false, true): - return false - case (true, false): - return false - default: - return lhs.compare(rhs) != .orderedDescending - } -} - -func >=(lhs: NSNumber, rhs: NSNumber) -> Bool { - - switch (lhs.isBool, rhs.isBool) { - case (false, true): - return false - case (true, false): - return false - default: - return lhs.compare(rhs) != .orderedAscending - } -} diff --git a/Example/Pods/Target Support Files/FayeSwift/FayeSwift-prefix.pch b/Example/Pods/Target Support Files/FayeSwift/FayeSwift-prefix.pch index aa992a4..beb2a24 100644 --- a/Example/Pods/Target Support Files/FayeSwift/FayeSwift-prefix.pch +++ b/Example/Pods/Target Support Files/FayeSwift/FayeSwift-prefix.pch @@ -1,4 +1,12 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/FayeSwift/FayeSwift-umbrella.h b/Example/Pods/Target Support Files/FayeSwift/FayeSwift-umbrella.h index 66dbc4c..a53d068 100644 --- a/Example/Pods/Target Support Files/FayeSwift/FayeSwift-umbrella.h +++ b/Example/Pods/Target Support Files/FayeSwift/FayeSwift-umbrella.h @@ -1,5 +1,13 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig b/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig index a0741be..afba0db 100644 --- a/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig +++ b/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig @@ -1,10 +1,11 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/FayeSwift -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/Starscream" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/../.. PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown index 23b60d7..a43d8ec 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown @@ -207,7 +207,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 Ruoyu Fu +Copyright (c) 2017 Ruoyu Fu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist index c8419dd..91d92e1 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist @@ -230,7 +230,7 @@ THE SOFTWARE. FooterText The MIT License (MIT) -Copyright (c) 2016 Ruoyu Fu +Copyright (c) 2017 Ruoyu Fu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh index 9dfadae..f66be5e 100755 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh @@ -1,11 +1,33 @@ #!/bin/sh set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -19,19 +41,24 @@ install_framework() local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" + echo "Symlinked..." + source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -45,7 +72,7 @@ install_framework() # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" @@ -54,42 +81,95 @@ install_framework() fi } +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" fi } # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi stripped="" - for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + lipo -remove "$arch" -output "$binary" "$binary" stripped="$stripped $arch" fi done if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=1 } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/FayeSwift/FayeSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/Starscream/Starscream.framework" - install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" + install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/FayeSwift/FayeSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/Starscream/Starscream.framework" - install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" + install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait fi diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-umbrella.h b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-umbrella.h index 6c81454..e43036b 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-umbrella.h +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-umbrella.h @@ -1,5 +1,13 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig index 94ce487..18f4838 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig @@ -1,11 +1,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift" "$PODS_CONFIGURATION_BUILD_DIR/Starscream" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift/FayeSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Starscream/Starscream.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig index 94ce487..18f4838 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig @@ -1,11 +1,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift" "$PODS_CONFIGURATION_BUILD_DIR/Starscream" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift/FayeSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Starscream/Starscream.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown index 23b60d7..a43d8ec 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown @@ -207,7 +207,7 @@ THE SOFTWARE. The MIT License (MIT) -Copyright (c) 2016 Ruoyu Fu +Copyright (c) 2017 Ruoyu Fu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist index c8419dd..91d92e1 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist @@ -230,7 +230,7 @@ THE SOFTWARE. FooterText The MIT License (MIT) -Copyright (c) 2016 Ruoyu Fu +Copyright (c) 2017 Ruoyu Fu Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh index 9dfadae..f66be5e 100755 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh @@ -1,11 +1,33 @@ #!/bin/sh set -e +set -u +set -o pipefail + +function on_error { + echo "$(realpath -mq "${0}"):$1: error: Unexpected failure" +} +trap 'on_error $LINENO' ERR + +if [ -z ${FRAMEWORKS_FOLDER_PATH+x} ]; then + # If FRAMEWORKS_FOLDER_PATH is not set, then there's nowhere for us to copy + # frameworks to, so exit 0 (signalling the script phase was successful). + exit 0 +fi echo "mkdir -p ${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" mkdir -p "${CONFIGURATION_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" +COCOAPODS_PARALLEL_CODE_SIGN="${COCOAPODS_PARALLEL_CODE_SIGN:-false}" SWIFT_STDLIB_PATH="${DT_TOOLCHAIN_DIR}/usr/lib/swift/${PLATFORM_NAME}" +# Used as a return value for each invocation of `strip_invalid_archs` function. +STRIP_BINARY_RETVAL=0 + +# This protects against multiple targets copying the same framework dependency at the same time. The solution +# was originally proposed here: https://lists.samba.org/archive/rsync/2008-February/020158.html +RSYNC_PROTECT_TMP_FILES=(--filter "P .*.??????") + +# Copies and strips a vendored framework install_framework() { if [ -r "${BUILT_PRODUCTS_DIR}/$1" ]; then @@ -19,19 +41,24 @@ install_framework() local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}" if [ -L "${source}" ]; then - echo "Symlinked..." - source="$(readlink "${source}")" + echo "Symlinked..." + source="$(readlink "${source}")" fi - # use filter instead of exclude so missing patterns dont' throw errors - echo "rsync -av --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" - rsync -av --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" + # Use filter instead of exclude so missing patterns don't throw errors. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${destination}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${destination}" local basename basename="$(basename -s .framework "$1")" binary="${destination}/${basename}.framework/${basename}" + if ! [ -r "$binary" ]; then binary="${destination}/${basename}" + elif [ -L "${binary}" ]; then + echo "Destination binary is symlinked..." + dirname="$(dirname "${binary}")" + binary="${dirname}/$(readlink "${binary}")" fi # Strip invalid architectures so "fat" simulator / device frameworks work on device @@ -45,7 +72,7 @@ install_framework() # Embed linked Swift runtime libraries. No longer necessary as of Xcode 7. if [ "${XCODE_VERSION_MAJOR}" -lt 7 ]; then local swift_runtime_libs - swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u && exit ${PIPESTATUS[0]}) + swift_runtime_libs=$(xcrun otool -LX "$binary" | grep --color=never @rpath/libswift | sed -E s/@rpath\\/\(.+dylib\).*/\\1/g | uniq -u) for lib in $swift_runtime_libs; do echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\"" rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}" @@ -54,42 +81,95 @@ install_framework() fi } +# Copies and strips a vendored dSYM +install_dsym() { + local source="$1" + if [ -r "$source" ]; then + # Copy the dSYM into a the targets temp dir. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${source}\" \"${DERIVED_FILES_DIR}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${source}" "${DERIVED_FILES_DIR}" + + local basename + basename="$(basename -s .framework.dSYM "$source")" + binary="${DERIVED_FILES_DIR}/${basename}.framework.dSYM/Contents/Resources/DWARF/${basename}" + + # Strip invalid architectures so "fat" simulator / device frameworks work on device + if [[ "$(file "$binary")" == *"Mach-O "*"dSYM companion"* ]]; then + strip_invalid_archs "$binary" + fi + + if [[ $STRIP_BINARY_RETVAL == 1 ]]; then + # Move the stripped file into its final destination. + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter \"- CVS/\" --filter \"- .svn/\" --filter \"- .git/\" --filter \"- .hg/\" --filter \"- Headers\" --filter \"- PrivateHeaders\" --filter \"- Modules\" \"${DERIVED_FILES_DIR}/${basename}.framework.dSYM\" \"${DWARF_DSYM_FOLDER_PATH}\"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${DERIVED_FILES_DIR}/${basename}.framework.dSYM" "${DWARF_DSYM_FOLDER_PATH}" + else + # The dSYM was not stripped at all, in this case touch a fake folder so the input/output paths from Xcode do not reexecute this script because the file is missing. + touch "${DWARF_DSYM_FOLDER_PATH}/${basename}.framework.dSYM" + fi + fi +} + +# Copies the bcsymbolmap files of a vendored framework +install_bcsymbolmap() { + local bcsymbolmap_path="$1" + local destination="${BUILT_PRODUCTS_DIR}" + echo "rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}"" + rsync --delete -av "${RSYNC_PROTECT_TMP_FILES[@]}" --filter "- CVS/" --filter "- .svn/" --filter "- .git/" --filter "- .hg/" --filter "- Headers" --filter "- PrivateHeaders" --filter "- Modules" "${bcsymbolmap_path}" "${destination}" +} + # Signs a framework with the provided identity code_sign_if_enabled() { - if [ -n "${EXPANDED_CODE_SIGN_IDENTITY}" -a "${CODE_SIGNING_REQUIRED}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then - # Use the current code_sign_identitiy + if [ -n "${EXPANDED_CODE_SIGN_IDENTITY:-}" -a "${CODE_SIGNING_REQUIRED:-}" != "NO" -a "${CODE_SIGNING_ALLOWED}" != "NO" ]; then + # Use the current code_sign_identity echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}" - echo "/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements \"$1\"" - /usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS} --preserve-metadata=identifier,entitlements "$1" + local code_sign_cmd="/usr/bin/codesign --force --sign ${EXPANDED_CODE_SIGN_IDENTITY} ${OTHER_CODE_SIGN_FLAGS:-} --preserve-metadata=identifier,entitlements '$1'" + + if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + code_sign_cmd="$code_sign_cmd &" + fi + echo "$code_sign_cmd" + eval "$code_sign_cmd" fi } # Strip invalid architectures strip_invalid_archs() { binary="$1" - # Get architectures for current file - archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | rev)" + # Get architectures for current target binary + binary_archs="$(lipo -info "$binary" | rev | cut -d ':' -f1 | awk '{$1=$1;print}' | rev)" + # Intersect them with the architectures we are building for + intersected_archs="$(echo ${ARCHS[@]} ${binary_archs[@]} | tr ' ' '\n' | sort | uniq -d)" + # If there are no archs supported by this binary then warn the user + if [[ -z "$intersected_archs" ]]; then + echo "warning: [CP] Vendored binary '$binary' contains architectures ($binary_archs) none of which match the current build architectures ($ARCHS)." + STRIP_BINARY_RETVAL=0 + return + fi stripped="" - for arch in $archs; do - if ! [[ "${VALID_ARCHS}" == *"$arch"* ]]; then + for arch in $binary_archs; do + if ! [[ "${ARCHS}" == *"$arch"* ]]; then # Strip non-valid architectures in-place - lipo -remove "$arch" -output "$binary" "$binary" || exit 1 + lipo -remove "$arch" -output "$binary" "$binary" stripped="$stripped $arch" fi done if [[ "$stripped" ]]; then echo "Stripped $binary of architectures:$stripped" fi + STRIP_BINARY_RETVAL=1 } if [[ "$CONFIGURATION" == "Debug" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/FayeSwift/FayeSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/Starscream/Starscream.framework" - install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" + install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then - install_framework "$BUILT_PRODUCTS_DIR/FayeSwift/FayeSwift.framework" - install_framework "$BUILT_PRODUCTS_DIR/Starscream/Starscream.framework" - install_framework "$BUILT_PRODUCTS_DIR/SwiftyJSON/SwiftyJSON.framework" + install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" + install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" + install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" +fi +if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then + wait fi diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-umbrella.h b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-umbrella.h index 2d8b84f..3ea03a3 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-umbrella.h +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-umbrella.h @@ -1,5 +1,13 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig index 94ce487..18f4838 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig @@ -1,11 +1,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift" "$PODS_CONFIGURATION_BUILD_DIR/Starscream" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift/FayeSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Starscream/Starscream.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig index 94ce487..18f4838 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig @@ -1,11 +1,13 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -EMBEDDED_CONTENT_CONTAINS_SWIFT = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift" "$PODS_CONFIGURATION_BUILD_DIR/Starscream" "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -iquote "$PODS_CONFIGURATION_BUILD_DIR/FayeSwift/FayeSwift.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/Starscream/Starscream.framework/Headers" -iquote "$PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON/SwiftyJSON.framework/Headers" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +PODS_PODFILE_DIR_PATH = ${SRCROOT}/. PODS_ROOT = ${SRCROOT}/Pods +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/Starscream/Starscream-prefix.pch b/Example/Pods/Target Support Files/Starscream/Starscream-prefix.pch index aa992a4..beb2a24 100644 --- a/Example/Pods/Target Support Files/Starscream/Starscream-prefix.pch +++ b/Example/Pods/Target Support Files/Starscream/Starscream-prefix.pch @@ -1,4 +1,12 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/Starscream/Starscream-umbrella.h b/Example/Pods/Target Support Files/Starscream/Starscream-umbrella.h index 734a071..7bffee0 100644 --- a/Example/Pods/Target Support Files/Starscream/Starscream-umbrella.h +++ b/Example/Pods/Target Support Files/Starscream/Starscream-umbrella.h @@ -1,5 +1,13 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/Starscream/Starscream.xcconfig b/Example/Pods/Target Support Files/Starscream/Starscream.xcconfig index 802b06c..7360f22 100644 --- a/Example/Pods/Target Support Files/Starscream/Starscream.xcconfig +++ b/Example/Pods/Target Support Files/Starscream/Starscream.xcconfig @@ -1,9 +1,10 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/Starscream +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/Starscream GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/Starscream PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch index aa992a4..beb2a24 100644 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch +++ b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch @@ -1,4 +1,12 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h index e0b0f40..b627dec 100644 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h +++ b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h @@ -1,5 +1,13 @@ #ifdef __OBJC__ #import +#else +#ifndef FOUNDATION_EXPORT +#if defined(__cplusplus) +#define FOUNDATION_EXPORT extern "C" +#else +#define FOUNDATION_EXPORT extern +#endif +#endif #endif diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig index 96d1de4..167cdaf 100644 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig +++ b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig @@ -1,10 +1,10 @@ -CONFIGURATION_BUILD_DIR = $PODS_CONFIGURATION_BUILD_DIR/SwiftyJSON +CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = "${PODS_ROOT}/Headers/Private" "${PODS_ROOT}/Headers/Public" -OTHER_SWIFT_FLAGS = $(inherited) "-D" "COCOAPODS" "-suppress-warnings" -PODS_BUILD_DIR = $BUILD_DIR -PODS_CONFIGURATION_BUILD_DIR = $PODS_BUILD_DIR/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) +OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings +PODS_BUILD_DIR = ${BUILD_DIR} +PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_ROOT = ${SRCROOT} +PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} SKIP_INSTALL = YES -SWIFT_VERSION = 3.0 +USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/FayeSwift.podspec b/FayeSwift.podspec index b17d555..a6ec333 100644 --- a/FayeSwift.podspec +++ b/FayeSwift.podspec @@ -1,6 +1,6 @@ Pod::Spec.new do |s| s.name = "FayeSwift" - s.version = "0.3.0" + s.version = "0.4.0" s.summary = "A pure Swift Faye (Bayeux) Client" s.description = <<-DESC A Pure Swift Client Library for the Faye (Bayeux/Comet) Pub-Sub messaging server. @@ -17,6 +17,6 @@ Pod::Spec.new do |s| s.ios.deployment_target = "8.0" s.tvos.deployment_target = "9.0" s.source_files = "Sources/*.swift" - s.dependency "Starscream", '~> 2.0' - s.dependency "SwiftyJSON", '~> 3.1' + s.dependency "Starscream", '~> 4.0.0' + s.dependency "SwiftyJSON", '~> 5.0.0' end From b479b36a7b21e3f4db46ca4503566fa22e53b6cf Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Mon, 23 Mar 2020 10:04:36 +0000 Subject: [PATCH 02/24] FAYESwift framework compiling --- Example/FayeSwift.xcodeproj/project.pbxproj | 9 +- .../xcshareddata/IDEWorkspaceChecks.plist | 8 + Example/Pods/Pods.xcodeproj/project.pbxproj | 27 ++- Sources/FayeClient+Bayuex.swift | 2 +- Sources/FayeClient+Helper.swift | 2 +- Sources/FayeClient+Subscriptions.swift | 5 +- Sources/FayeClient+Transport.swift | 21 ++- Sources/FayeSubscriptionModel.swift | 8 +- Sources/StringExtensions.swift | 2 +- Sources/Transport.swift | 26 ++- Sources/WebsocketTransport.swift | 171 ++++++++++-------- 11 files changed, 158 insertions(+), 123 deletions(-) create mode 100644 Example/FayeSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist diff --git a/Example/FayeSwift.xcodeproj/project.pbxproj b/Example/FayeSwift.xcodeproj/project.pbxproj index 3e9343f..69341a3 100644 --- a/Example/FayeSwift.xcodeproj/project.pbxproj +++ b/Example/FayeSwift.xcodeproj/project.pbxproj @@ -227,6 +227,7 @@ developmentRegion = English; hasScannedForEncodings = 0; knownRegions = ( + English, en, Base, ); @@ -484,7 +485,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Debug; }; @@ -498,7 +499,7 @@ MODULE_NAME = ExampleApp; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; }; name = Release; }; @@ -516,7 +517,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FayeSwift_Example.app/FayeSwift_Example"; }; name = Debug; @@ -531,7 +532,7 @@ LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_NAME = "$(TARGET_NAME)"; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/FayeSwift_Example.app/FayeSwift_Example"; }; name = Release; diff --git a/Example/FayeSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist b/Example/FayeSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist new file mode 100644 index 0000000..18d9810 --- /dev/null +++ b/Example/FayeSwift.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist @@ -0,0 +1,8 @@ + + + + + IDEDidComputeMac32BitWarning + + + diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 0e38cda..c1dd81f 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -125,12 +125,12 @@ 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Action.swift"; path = "Sources/FayeClient+Action.swift"; sourceTree = ""; }; 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationTransport.swift; path = Sources/Transport/FoundationTransport.swift; sourceTree = ""; }; 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringExtensions.swift; path = Sources/StringExtensions.swift; sourceTree = ""; }; - 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Example.framework; path = "Pods-FayeSwift_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FayeSwift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPServerHandler.swift; path = Sources/Framer/FoundationHTTPServerHandler.swift; sourceTree = ""; }; 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Security.swift; path = Sources/Security/Security.swift; sourceTree = ""; }; 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPHandler.swift; path = Sources/Framer/FoundationHTTPHandler.swift; sourceTree = ""; }; - 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = FayeSwift.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = FayeSwift.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 3C4DB29DDFF56CBEA832B464F25EBF18 /* SwiftyJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyJSON-Info.plist"; sourceTree = ""; }; 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Transport.swift"; path = "Sources/FayeClient+Transport.swift"; sourceTree = ""; }; 4239408D88CF436217DE67140C09B171 /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport.swift; sourceTree = ""; }; @@ -152,16 +152,16 @@ 6E810AE5C04F854E8DFC92ACC290FA50 /* Pods-FayeSwift_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Example-acknowledgements.markdown"; sourceTree = ""; }; 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Parsing.swift"; path = "Sources/FayeClient+Parsing.swift"; sourceTree = ""; }; 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Example-dummy.m"; sourceTree = ""; }; - 71526644235E827D44173B4DA305C392 /* Readme.md */ = {isa = PBXFileReference; includeInIndex = 1; path = Readme.md; sourceTree = ""; }; + 71526644235E827D44173B4DA305C392 /* Readme.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = ""; }; 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Tests-dummy.m"; sourceTree = ""; }; 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClient.swift; path = Sources/FayeClient.swift; sourceTree = ""; }; 7DAD9B664EF4965431CCE924B1A86027 /* Pods-FayeSwift_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-acknowledgements.plist"; sourceTree = ""; }; 7DCFC525E0C4FB7B05B9DD90891FD2E9 /* Pods-FayeSwift_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Tests-acknowledgements.markdown"; sourceTree = ""; }; 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; - 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Tests.framework; path = "Pods-FayeSwift_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FayeSwift_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Bayuex.swift"; path = "Sources/FayeClient+Bayuex.swift"; sourceTree = ""; }; - 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream.framework; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FrameCollector.swift; path = Sources/Framer/FrameCollector.swift; sourceTree = ""; }; 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FayeSwift-dummy.m"; sourceTree = ""; }; 914513F39CD8B4AE7093613132643ABC /* FayeSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FayeSwift-Info.plist"; sourceTree = ""; }; @@ -171,8 +171,8 @@ 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Compression/Compression.swift; sourceTree = ""; }; 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHandler.swift; path = Sources/Framer/HTTPHandler.swift; sourceTree = ""; }; 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-umbrella.h"; sourceTree = ""; }; - 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FayeSwift.framework; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; A334613D59552A1553E912C4E2814646 /* Pods-FayeSwift_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-Info.plist"; sourceTree = ""; }; A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.debug.xcconfig"; sourceTree = ""; }; @@ -182,7 +182,7 @@ B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeSubscriptionModel.swift; path = Sources/FayeSubscriptionModel.swift; sourceTree = ""; }; B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Example-umbrella.h"; sourceTree = ""; }; B46A5A95935228E00C289D459B6A52CB /* Pods-FayeSwift_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FayeSwift_Tests.modulemap"; sourceTree = ""; }; - B647A46F2B10AA8E07E8E3E7501A8832 /* License */ = {isa = PBXFileReference; includeInIndex = 1; path = License; sourceTree = ""; }; + B647A46F2B10AA8E07E8E3E7501A8832 /* License */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = License; sourceTree = ""; }; BEC86F6E4914D08D02F45B8563B29D66 /* Pods-FayeSwift_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-Info.plist"; sourceTree = ""; }; BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Framer.swift; path = Sources/Framer/Framer.swift; sourceTree = ""; }; C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; @@ -192,7 +192,7 @@ D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketServer.swift; path = Sources/Server/WebSocketServer.swift; sourceTree = ""; }; D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSCompression.swift; path = Sources/Compression/WSCompression.swift; sourceTree = ""; }; E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Server.swift; path = Sources/Server/Server.swift; sourceTree = ""; }; - E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = SwiftyJSON.framework; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; E65418FB140C77BE75B9A283CA15DCE7 /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; @@ -279,7 +279,6 @@ 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */, 68AB257207B5C4A2FCF34E7C13E6A678 /* Support Files */, ); - name = SwiftyJSON; path = SwiftyJSON; sourceTree = ""; }; @@ -397,7 +396,6 @@ 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */, 654C335B770E0E274747D663493D3A57 /* Support Files */, ); - name = Starscream; path = Starscream; sourceTree = ""; }; @@ -991,8 +989,7 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_COMPILATION_MODE = wholemodule; - SWIFT_OPTIMIZATION_LEVEL = "-O"; + SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; @@ -1085,7 +1082,7 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; @@ -1248,7 +1245,7 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 3.0; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index 5480f1d..0384656 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -139,7 +139,7 @@ extension FayeClient { } catch FayeSubscriptionModelError.conversationError { } catch FayeSubscriptionModelError.clientIdNotValid - where self.fayeClientId?.characters.count > 0 { + where self.fayeClientId?.count > 0 { var model = model model.clientId = self.fayeClientId self.subscribe(model) diff --git a/Sources/FayeClient+Helper.swift b/Sources/FayeClient+Helper.swift index f17049c..37cd255 100644 --- a/Sources/FayeClient+Helper.swift +++ b/Sources/FayeClient+Helper.swift @@ -19,6 +19,6 @@ public extension FayeClient { /// Validate faye transport is connected public func isTransportConnected() -> Bool { - return self.transport!.isConnected() + return self.transport?.isConnected ?? false } } diff --git a/Sources/FayeClient+Subscriptions.swift b/Sources/FayeClient+Subscriptions.swift index 38b43f6..30f4803 100644 --- a/Sources/FayeClient+Subscriptions.swift +++ b/Sources/FayeClient+Subscriptions.swift @@ -50,9 +50,8 @@ extension FayeClient { func receive(_ message: String) { readOperationQueue.sync { [unowned self] in - if let jsonData = message.data(using: String.Encoding.utf8, allowLossyConversion: false) { - let json = JSON(data: jsonData) - + if let jsonData = message.data(using: String.Encoding.utf8, allowLossyConversion: false), + let json = try? JSON(data: jsonData) { self.parseFayeMessage(json) } } diff --git a/Sources/FayeClient+Transport.swift b/Sources/FayeClient+Transport.swift index 0559aaa..3c88559 100644 --- a/Sources/FayeClient+Transport.swift +++ b/Sources/FayeClient+Transport.swift @@ -15,12 +15,6 @@ extension FayeClient { self.handshake() } - public func didDisconnect(_ error: NSError?) { - self.delegate?.disconnectedFromServer(self) - self.connectionInitiated = false - self.fayeConnected = false - } - public func didFailConnection(_ error: NSError?) { self.delegate?.connectionFailed(self) self.connectionInitiated = false @@ -38,4 +32,19 @@ extension FayeClient { public func didReceivePong() { self.delegate?.pongReceived(self) } + + public func didDisconnect(_ type: DisconnectionType?) { + self.delegate?.disconnectedFromServer(self) + self.connectionInitiated = false + self.fayeConnected = false + } + + public func didReceiveData(_ data: Data) { + + } + + public func didReceivePing() { + + } + } diff --git a/Sources/FayeSubscriptionModel.swift b/Sources/FayeSubscriptionModel.swift index 5856b40..e108b8d 100644 --- a/Sources/FayeSubscriptionModel.swift +++ b/Sources/FayeSubscriptionModel.swift @@ -21,16 +21,16 @@ public enum FayeSubscriptionModelError: Error { open class FayeSubscriptionModel { /// Subscription URL - open let subscription: String + let subscription: String /// Channel type for request - open let channel: BayeuxChannel + let channel: BayeuxChannel /// Uniqle client id for socket - open var clientId: String? + var clientId: String? /// Model must conform to Hashable - open var hashValue: Int { + var hashValue: Int { return subscription.hashValue } diff --git a/Sources/StringExtensions.swift b/Sources/StringExtensions.swift index 9b9f5ae..7390074 100644 --- a/Sources/StringExtensions.swift +++ b/Sources/StringExtensions.swift @@ -9,7 +9,7 @@ // MARK: Custom Extensions extension String { subscript (i: Int) -> String { - return String(Array(self.characters)[i]) + return String(Array(self)[i]) } // http://iosdevelopertips.com/swift-code/base64-encode-decode-swift.html diff --git a/Sources/Transport.swift b/Sources/Transport.swift index 99c318f..7e91054 100644 --- a/Sources/Transport.swift +++ b/Sources/Transport.swift @@ -6,18 +6,24 @@ // // +public enum DisconnectionType { + case connectionLost(reason: String, code: UInt16) + case connectionDisconnected +} + public protocol Transport { - func writeString(_ aString:String) - func openConnection() - func closeConnection() - func isConnected() -> (Bool) + func writeString(_ aString:String) + func openConnection() + func closeConnection() + var isConnected: Bool { get } } public protocol TransportDelegate: class { - func didConnect() - func didFailConnection(_ error:NSError?) - func didDisconnect(_ error: NSError?) - func didWriteError(_ error:NSError?) - func didReceiveMessage(_ text:String) - func didReceivePong() + func didConnect() + func didDisconnect(_ type: DisconnectionType?) + func didWriteError(_ error: NSError?) + func didReceiveMessage(_ text: String) + func didReceiveData(_ data: Data) + func didReceivePong() + func didReceivePing() } diff --git a/Sources/WebsocketTransport.swift b/Sources/WebsocketTransport.swift index dfc7e67..84ca4d0 100644 --- a/Sources/WebsocketTransport.swift +++ b/Sources/WebsocketTransport.swift @@ -9,88 +9,103 @@ import Foundation import Starscream -internal class WebsocketTransport: Transport, WebSocketDelegate, WebSocketPongDelegate { - var urlString:String? - var webSocket:WebSocket? - var headers: [String: String]? = nil - internal weak var delegate:TransportDelegate? - - convenience required internal init(url: String) { - self.init() - - self.urlString = url - } - - func openConnection() { - self.closeConnection() - self.webSocket = WebSocket(url: URL(string:self.urlString!)!) - - if let webSocket = self.webSocket { - webSocket.delegate = self - webSocket.pongDelegate = self - if let headers = self.headers { - for (key, value) in headers { - webSocket.headers[key] = headers[value] +class WebsocketTransport: Transport { + var urlString:String? + var webSocket:WebSocket? + var headers: [String: String]? = nil + weak var delegate:TransportDelegate? + private var socketConnected: Bool = false + + var isConnected: Bool { + return socketConnected + } + + convenience required internal init(url: String) { + self.init() + + self.urlString = url + } + + func openConnection() { + self.closeConnection() + guard let urlString = urlString, + let url = URL(string: urlString) else { + print("Faye: Invalid url") + return } - } - webSocket.connect() + var urlRequest = URLRequest(url: url) + if let headers = self.headers { + urlRequest.allHTTPHeaderFields = headers + } + self.webSocket = WebSocket(request: urlRequest) - print("Faye: Opening connection with \(self.urlString)") + if let webSocket = self.webSocket { + webSocket.delegate = self + webSocket.connect() + print("Faye: Opening connection with \(self.urlString)") + } } - } - - func closeConnection() { - if let webSocket = self.webSocket { - print("Faye: Closing connection") - - webSocket.delegate = nil - webSocket.disconnect(forceTimeout: 0) - - self.webSocket = nil + + func closeConnection() { + if let webSocket = self.webSocket { + print("Faye: Closing connection") + + webSocket.delegate = nil + webSocket.disconnect() + + self.webSocket = nil + } + } + + func writeString(_ aString:String) { + self.webSocket?.write(string: aString) + } + + func sendPing(_ data: Data, completion: (() -> ())? = nil) { + self.webSocket?.write(ping: data, completion: completion) } - } - - func writeString(_ aString:String) { - self.webSocket?.write(string: aString) - } - - func sendPing(_ data: Data, completion: (() -> ())? = nil) { - self.webSocket?.write(ping: data, completion: completion) - } - - func isConnected() -> (Bool) { - return self.webSocket?.isConnected ?? false - } - - // MARK: Websocket Delegate - internal func websocketDidConnect(socket: WebSocket) { - self.delegate?.didConnect() - } - - internal func websocketDidDisconnect(socket: WebSocket, error: NSError?) { - if error == nil { - self.delegate?.didDisconnect(NSError(error: .lostConnection)) - } else { - self.delegate?.didFailConnection(error) + + func websocketDidDisconnect(withReason reason: String?, andCode code: UInt16?) { + if let reason = reason, + let code = code { + self.delegate?.didDisconnect(.connectionLost(reason: reason, code: code)) + } else { + self.delegate?.didDisconnect(.connectionDisconnected) + } } - } - - internal func websocketDidReceiveMessage(socket: WebSocket, text: String) { - self.delegate?.didReceiveMessage(text) - } - - // MARK: TODO - internal func websocketDidReceiveData(socket: WebSocket, data: Data) { - print("Faye: Received data: \(data.count)") - //self.socket.writeData(data) - } +} - // MARK: WebSocket Pong Delegate - internal func websocketDidReceivePong(_ socket: WebSocket) { - self.delegate?.didReceivePong() - } - - func websocketDidReceivePong(socket: WebSocket, data: Data?) { - self.delegate?.didReceivePong() - } +extension WebsocketTransport: WebSocketDelegate { + func didReceive(event: WebSocketEvent, client: WebSocket) { + switch event { + case .connected(let headers): + print("websocket is connected: \(headers)") + socketConnected = true + self.delegate?.didConnect() + case .disconnected(let reason, let code): + socketConnected = false + print("websocket is disconnected for reason: \(reason) /n with code: \(code)") + websocketDidDisconnect(withReason: reason, andCode: code) + case .text(let text): + self.delegate?.didReceiveMessage(text) + case .binary(let data): + print("Faye: Received data: \(data.count)") + self.delegate?.didReceiveData(data) + case .pong(let data): + // FIXME: Data should be forwarded on + self.delegate?.didReceivePong() + case .ping(let data): + self.delegate?.didReceivePing() + case .error(let error): + break + case .viablityChanged(_): + break + case .reconnectSuggested(_): + break + case .cancelled: + break + @unknown default: + break + } + } } From d243dc3f9083c1a9f44926d13b847b6594d6e09d Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Mon, 23 Mar 2020 10:10:54 +0000 Subject: [PATCH 03/24] Fix SampleApp and fix warnings --- Example/FayeSwift.xcodeproj/project.pbxproj | 28 +++++++++++++++++-- .../xcschemes/FayeSwift-Example.xcscheme | 24 +++++++--------- Example/FayeSwift/AppDelegate.swift | 2 +- 3 files changed, 36 insertions(+), 18 deletions(-) diff --git a/Example/FayeSwift.xcodeproj/project.pbxproj b/Example/FayeSwift.xcodeproj/project.pbxproj index 69341a3..982d2ee 100644 --- a/Example/FayeSwift.xcodeproj/project.pbxproj +++ b/Example/FayeSwift.xcodeproj/project.pbxproj @@ -208,7 +208,7 @@ isa = PBXProject; attributes = { LastSwiftUpdateCheck = 0720; - LastUpgradeCheck = 0720; + LastUpgradeCheck = 1130; ORGANIZATIONNAME = CocoaPods; TargetAttributes = { 607FACCF1AFB9204008FA782 = { @@ -224,10 +224,9 @@ }; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "FayeSwift" */; compatibilityVersion = "Xcode 3.2"; - developmentRegion = English; + developmentRegion = en; hasScannedForEncodings = 0; knownRegions = ( - English, en, Base, ); @@ -397,17 +396,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -442,17 +452,28 @@ isa = XCBuildConfiguration; buildSettings = { ALWAYS_SEARCH_USER_PATHS = NO; + CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LIBRARY = "libc++"; CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_OBJC_ARC = YES; + CLANG_WARN_BLOCK_CAPTURE_AUTORELEASING = YES; CLANG_WARN_BOOL_CONVERSION = YES; + CLANG_WARN_COMMA = YES; CLANG_WARN_CONSTANT_CONVERSION = YES; + CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_ENUM_CONVERSION = YES; + CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INT_CONVERSION = YES; + CLANG_WARN_NON_LITERAL_NULL_CONVERSION = YES; + CLANG_WARN_OBJC_IMPLICIT_RETAIN_SELF = YES; + CLANG_WARN_OBJC_LITERAL_CONVERSION = YES; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; + CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; + CLANG_WARN_STRICT_PROTOTYPES = YES; + CLANG_WARN_SUSPICIOUS_MOVE = YES; CLANG_WARN_UNREACHABLE_CODE = YES; CLANG_WARN__DUPLICATE_METHOD_MATCH = YES; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = "iPhone Developer"; @@ -471,6 +492,7 @@ IPHONEOS_DEPLOYMENT_TARGET = 8.3; MTL_ENABLE_DEBUG_INFO = NO; SDKROOT = iphoneos; + SWIFT_COMPILATION_MODE = wholemodule; VALIDATE_PRODUCT = YES; }; name = Release; diff --git a/Example/FayeSwift.xcodeproj/xcshareddata/xcschemes/FayeSwift-Example.xcscheme b/Example/FayeSwift.xcodeproj/xcshareddata/xcschemes/FayeSwift-Example.xcscheme index 068ecf3..5149138 100644 --- a/Example/FayeSwift.xcodeproj/xcshareddata/xcschemes/FayeSwift-Example.xcscheme +++ b/Example/FayeSwift.xcodeproj/xcshareddata/xcschemes/FayeSwift-Example.xcscheme @@ -1,6 +1,6 @@ + + + + @@ -53,17 +62,6 @@ - - - - - - - - Bool { + func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool { // Override point for customization after application launch. return true } From 1cbe797fac4b1532c4ea119bcc48c01ed003a96e Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Mon, 23 Mar 2020 14:39:31 +0000 Subject: [PATCH 04/24] Faye working --- Example/FayeSwift/ViewController.swift | 159 ++++++++++---------- Example/Pods/Pods.xcodeproj/project.pbxproj | 4 - Sources/FayeClient+Parsing.swift | 49 +++--- Sources/FayeClient+Subscriptions.swift | 18 ++- Sources/FayeClient+Transport.swift | 6 +- Sources/FayeClient.swift | 4 +- Sources/FayeClientDelegate.swift | 31 ++-- Sources/StringExtensions.swift | 41 ----- package-lock.json | 119 +++++++++++++++ package.json | 8 +- 10 files changed, 261 insertions(+), 178 deletions(-) delete mode 100644 Sources/StringExtensions.swift create mode 100644 package-lock.json diff --git a/Example/FayeSwift/ViewController.swift b/Example/FayeSwift/ViewController.swift index f002014..145e00b 100644 --- a/Example/FayeSwift/ViewController.swift +++ b/Example/FayeSwift/ViewController.swift @@ -11,89 +11,92 @@ import FayeSwift class ViewController: UIViewController, UITextFieldDelegate, FayeClientDelegate { - @IBOutlet weak var textField: UITextField! - @IBOutlet weak var textView: UITextView! - - /// Example FayeClient - let client:FayeClient = FayeClient(aFayeURLString: "ws://localhost:5222/faye", channel: "/cool") - - // MARK: - // MARK: Lifecycle - - override func viewDidLoad() { - super.viewDidLoad() - - client.delegate = self; - client.transportHeaders = ["X-Custom-Header": "Custom Value"] - client.connectToServer() + @IBOutlet weak var textField: UITextField! + @IBOutlet weak var textView: UITextView! + + /// Example FayeClient + let client:FayeClient = FayeClient(aFayeURLString: "ws://localhost:5222/faye", channel: "/cool") + + // MARK: + // MARK: Lifecycle - let channelBlock:ChannelSubscriptionBlock = {(messageDict) -> Void in - if let text = messageDict["text"] { - print("Here is the Block message: \(text)") - } + override func viewDidLoad() { + super.viewDidLoad() + + client.delegate = self; + client.transportHeaders = ["X-Custom-Header": "Custom Value"] + client.connectToServer() + + let channelBlock:ChannelSubscriptionBlock = {(messageDict) -> Void in + if let text = messageDict["text"] { + print("Here is the Block message: \(text)") + } + } + _ = client.subscribeToChannel("/awesome", block: channelBlock) + + let delayTime = DispatchTime.now() + Double(Int64(5 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC) + DispatchQueue.main.asyncAfter(deadline: delayTime) { + self.client.unsubscribeFromChannel("/awesome") + } + + DispatchQueue.main.asyncAfter(deadline: delayTime) { + let model = FayeSubscriptionModel(subscription: "/awesome", clientId: nil) + + _ = self.client.subscribeToChannel(model, block: { [unowned self] messages in + print("awesome response: \(messages)") + + self.client.sendPing("Ping".data(using: String.Encoding.utf8)!, completion: { + print("got pong") + }) + }) + } } - _ = client.subscribeToChannel("/awesome", block: channelBlock) - let delayTime = DispatchTime.now() + Double(Int64(5 * Double(NSEC_PER_SEC))) / Double(NSEC_PER_SEC) - DispatchQueue.main.asyncAfter(deadline: delayTime) { - self.client.unsubscribeFromChannel("/awesome") + // MARK: + // MARK: TextfieldDelegate + + func textFieldShouldReturn(_ textField: UITextField) -> Bool { + client.sendMessage(["text" : textField.text!], channel: "/cool") + return false; } - - DispatchQueue.main.asyncAfter(deadline: delayTime) { - let model = FayeSubscriptionModel(subscription: "/awesome", clientId: nil) - - _ = self.client.subscribeToChannel(model, block: { [unowned self] messages in - print("awesome response: \(messages)") - - self.client.sendPing("Ping".data(using: String.Encoding.utf8)!, completion: { - print("got pong") - }) - }) + + // MARK: FayeClientDelegate + + func connectionFailed(_ client: FayeClient) { + print("Failed to connect to Faye server!") } - } - - // MARK: - // MARK: TextfieldDelegate - func textFieldShouldReturn(_ textField: UITextField) -> Bool { - client.sendMessage(["text" : textField.text!], channel: "/cool") - return false; - } - - // MARK: - // MARK: FayeClientDelegate - - func connectedtoser(_ client: FayeClient) { - print("Connected to Faye server") - } - - func connectionFailed(_ client: FayeClient) { - print("Failed to connect to Faye server!") - } - - func disconnectedFromServer(_ client: FayeClient) { - print("Disconnected from Faye server") - } - - func didSubscribeToChannel(_ client: FayeClient, channel: String) { - print("Subscribed to channel \(channel)") - } - - func didUnsubscribeFromChannel(_ client: FayeClient, channel: String) { - print("Unsubscribed from channel \(channel)") - } - - func subscriptionFailedWithError(_ client: FayeClient, error: subscriptionError) { - print("Subscription failed") - } - - func messageReceived(_ client: FayeClient, messageDict: NSDictionary, channel: String) { - if let text = messageDict["text"] { - print("Here is the message: \(text)") + func disconnectedFromServer(_ client: FayeClient) { + print("Disconnected from Faye server") + } + + func didSubscribeToChannel(_ client: FayeClient, channel: String) { + print("Subscribed to channel \(channel)") + } + + func didUnsubscribeFromChannel(_ client: FayeClient, channel: String) { + print("Unsubscribed from channel \(channel)") + } + + func subscriptionFailedWithError(_ client: FayeClient, error: subscriptionError) { + print("Subscription failed") + } + + func messageReceived(_ client: FayeClient, messageDict: NSDictionary, channel: String) { + if let text = messageDict["text"] { + print("Here is the message: \(text)") + } + } + + func pongReceived(_ client: FayeClient) { + print("pong") + } + + func connectedToServer(_ client: FayeClient) { + print("Successfully connected") + } + + func fayeClientError(_ client: FayeClient, error: NSError) { + print("Failed to connect with error: \(error)") } - } - - func pongReceived(_ client: FayeClient) { - print("pong") - } } diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index c1dd81f..75f4b10 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -40,7 +40,6 @@ 93524EF16C1EA133AD0893B6FF138B30 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */; }; 97DA4510146BCEF10BD53BD5CC1459CA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; 99CABBFF5653DCB301C355A857599B58 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 9A53B97806A9E67FEFEB65DEB5588FFA /* StringExtensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */; }; A100344FC632242FDEAA4BFC0FC01534 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */; }; A29DCC96E5AB5067E8BED0CFD06FA96B /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */; }; B471CF5E4D5068291D4CC54CBF89E964 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */; }; @@ -124,7 +123,6 @@ 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Helper.swift"; path = "Sources/FayeClient+Helper.swift"; sourceTree = ""; }; 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Action.swift"; path = "Sources/FayeClient+Action.swift"; sourceTree = ""; }; 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationTransport.swift; path = Sources/Transport/FoundationTransport.swift; sourceTree = ""; }; - 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringExtensions.swift; path = Sources/StringExtensions.swift; sourceTree = ""; }; 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FayeSwift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPServerHandler.swift; path = Sources/Framer/FoundationHTTPServerHandler.swift; sourceTree = ""; }; @@ -263,7 +261,6 @@ 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */, B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */, FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */, - 13F163C80416CBEB02EC0187B8CCEFD1 /* StringExtensions.swift */, 4239408D88CF436217DE67140C09B171 /* Transport.swift */, 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */, 40047F383137CF9AC56349BEA6616949 /* Pod */, @@ -738,7 +735,6 @@ BFF0B7845AD87F28D8FA3B9D2B209A26 /* FayeSubscriptionModel.swift in Sources */, 45C838EF6C400BF9A4FA6330DCA8FF98 /* FayeSwift-dummy.m in Sources */, 62FCD7F0DA368198F57272D1682DD66A /* NSError+Helper.swift in Sources */, - 9A53B97806A9E67FEFEB65DEB5588FFA /* StringExtensions.swift in Sources */, 52C2F5AA0D179F742394477ECF98BBFD /* Transport.swift in Sources */, 1EBC62F41CC90D12AFBF45BA5FCD976E /* WebsocketTransport.swift in Sources */, ); diff --git a/Sources/FayeClient+Parsing.swift b/Sources/FayeClient+Parsing.swift index 17f90f6..9a9ef91 100644 --- a/Sources/FayeClient+Parsing.swift +++ b/Sources/FayeClient+Parsing.swift @@ -10,10 +10,8 @@ import Foundation import SwiftyJSON extension FayeClient { - - // MARK: - // MARK: Parsing + // MARK: Parsing func parseFayeMessage(_ messageJSON:JSON) { let messageDict = messageJSON[0] if let channel = messageDict[Bayeux.Channel.rawValue].string { @@ -79,30 +77,35 @@ extension FayeClient { } } else { // Handle Client Channel - if self.isSubscribedToChannel(channel) { - if messageJSON[0][Bayeux.Data.rawValue] != JSON.null { - let data: AnyObject = messageJSON[0][Bayeux.Data.rawValue].object as AnyObject - - if let channelBlock = self.channelSubscriptionBlocks[channel] { - channelBlock(data as! NSDictionary) - } else { - print("Faye: Failed to get channel block for : \(channel)") - } - - self.delegate?.messageReceived( - self, - messageDict: data as! NSDictionary, - channel: channel - ) - } else { - print("Faye: For some reason data is nil for channel: \(channel)") - } + handleMessageReceived(messageDict, channel: channel) + } + } else { + print("Faye: Missing channel for \(messageDict)") + } + } + + private func handleMessageReceived(_ messageDict: JSON, channel: String) { + // Handle Client Channel + if self.isSubscribedToChannel(channel) { + if messageDict[0][Bayeux.Data.rawValue] != JSON.null { + let data: AnyObject = messageDict[0][Bayeux.Data.rawValue].object as AnyObject + + if let channelBlock = self.channelSubscriptionBlocks[channel] { + channelBlock(data as! NSDictionary) } else { - print("Faye: Weird channel that not been set to subscribed: \(channel)") + print("Faye: Failed to get channel block for : \(channel)") } + + self.delegate?.messageReceived( + self, + messageDict: data as! NSDictionary, + channel: channel + ) + } else { + print("Faye: For some reason data is nil for channel: \(channel)") } } else { - print("Faye: Missing channel for \(messageDict)") + print("Faye: Weird channel that not been set to subscribed: \(channel)") } } } diff --git a/Sources/FayeClient+Subscriptions.swift b/Sources/FayeClient+Subscriptions.swift index 30f4803..d0b1994 100644 --- a/Sources/FayeClient+Subscriptions.swift +++ b/Sources/FayeClient+Subscriptions.swift @@ -56,6 +56,15 @@ extension FayeClient { } } } + + func receive(_ data: Data) { + readOperationQueue.sync { [unowned self] in + if let json = try? JSON(data: data) { + // TODO: Add an error here to forward on for failed to decode + self.parseFayeMessage(json) + } + } + } func nextMessageId() -> String { self.messageNumber += 1 @@ -64,10 +73,9 @@ extension FayeClient { messageNumber = 0 } - return "\(self.messageNumber)".encodedString() + return "\(self.messageNumber)".encodeToBase64() } - // MARK: // MARK: Subscriptions func removeChannelFromQueuedSubscriptions(_ channel: String) -> Bool { @@ -115,3 +123,9 @@ extension FayeClient { return result } } + +extension String { + func encodeToBase64() -> String { + return Data(self.utf8).base64EncodedString() + } +} diff --git a/Sources/FayeClient+Transport.swift b/Sources/FayeClient+Transport.swift index 3c88559..eda0cc0 100644 --- a/Sources/FayeClient+Transport.swift +++ b/Sources/FayeClient+Transport.swift @@ -9,7 +9,7 @@ import Foundation // MARK: Transport Delegate -extension FayeClient { +extension FayeClient: TransportDelegate { public func didConnect() { self.connectionInitiated = false; self.handshake() @@ -40,11 +40,11 @@ extension FayeClient { } public func didReceiveData(_ data: Data) { - + self.receive(data) } public func didReceivePing() { - + self.delegate?.pingReceived(self) } } diff --git a/Sources/FayeClient.swift b/Sources/FayeClient.swift index d2246aa..abc8e24 100644 --- a/Sources/FayeClient.swift +++ b/Sources/FayeClient.swift @@ -23,7 +23,7 @@ public typealias ChannelSubscriptionBlock = (NSDictionary) -> Void // MARK: FayeClient -open class FayeClient : TransportDelegate { +open class FayeClient { open var fayeURLString:String { didSet { if let transport = self.transport { @@ -124,7 +124,7 @@ open class FayeClient : TransportDelegate { self.publish(messageDict as! Dictionary, channel: channel) } - open func sendMessage(_ messageDict:[String:AnyObject], channel:String) { + open func sendMessage(_ messageDict: [String:AnyObject], channel:String) { self.publish(messageDict, channel: channel) } diff --git a/Sources/FayeClientDelegate.swift b/Sources/FayeClientDelegate.swift index fce9fbd..c55abf1 100644 --- a/Sources/FayeClientDelegate.swift +++ b/Sources/FayeClientDelegate.swift @@ -14,25 +14,14 @@ public enum subscriptionError: Error { // MARK: FayeClientDelegate Protocol public protocol FayeClientDelegate: NSObjectProtocol { - func messageReceived(_ client:FayeClient, messageDict: NSDictionary, channel: String) - func pongReceived(_ client:FayeClient) - func connectedToServer(_ client:FayeClient) - func disconnectedFromServer(_ client:FayeClient) - func connectionFailed(_ client:FayeClient) - func didSubscribeToChannel(_ client:FayeClient, channel:String) - func didUnsubscribeFromChannel(_ client:FayeClient, channel:String) - func subscriptionFailedWithError(_ client:FayeClient, error:subscriptionError) - func fayeClientError(_ client:FayeClient, error:NSError) -} - -public extension FayeClientDelegate { - func messageReceived(_ client:FayeClient, messageDict: NSDictionary, channel: String){} - func pongReceived(_ client:FayeClient){} - func connectedToServer(_ client:FayeClient){} - func disconnectedFromServer(_ client:FayeClient){} - func connectionFailed(_ client:FayeClient){} - func didSubscribeToChannel(_ client:FayeClient, channel:String){} - func didUnsubscribeFromChannel(_ client:FayeClient, channel:String){} - func subscriptionFailedWithError(_ client:FayeClient, error:subscriptionError){} - func fayeClientError(_ client:FayeClient, error:NSError){} + func messageReceived(_ client:FayeClient, messageDict: NSDictionary, channel: String) + func pongReceived(_ client:FayeClient) + func pingReceived(_ client:FayeClient) + func connectedToServer(_ client:FayeClient) + func disconnectedFromServer(_ client:FayeClient) + func connectionFailed(_ client:FayeClient) + func didSubscribeToChannel(_ client:FayeClient, channel:String) + func didUnsubscribeFromChannel(_ client:FayeClient, channel:String) + func subscriptionFailedWithError(_ client:FayeClient, error:subscriptionError) + func fayeClientError(_ client:FayeClient, error:NSError) } diff --git a/Sources/StringExtensions.swift b/Sources/StringExtensions.swift deleted file mode 100644 index 7390074..0000000 --- a/Sources/StringExtensions.swift +++ /dev/null @@ -1,41 +0,0 @@ -// -// StringExtensions.swift -// Pods -// -// Created by Haris Amin on 2/20/16. -// -// - -// MARK: Custom Extensions -extension String { - subscript (i: Int) -> String { - return String(Array(self)[i]) - } - - // http://iosdevelopertips.com/swift-code/base64-encode-decode-swift.html - func encodedString() -> String { - // UTF 8 str from original - // NSData! type returned (optional) - guard let utf8str = self.data(using: String.Encoding.utf8) else { - return "" - } - - // Base64 encode UTF 8 string - // fromRaw(0) is equivalent to objc 'base64EncodedStringWithOptions:0' - // Notice the unwrapping given the NSData! optional - // NSString! returned (optional) - let base64Encoded = utf8str.base64EncodedString(options: NSData.Base64EncodingOptions()) - - // Base64 Decode (go back the other way) - // Notice the unwrapping given the NSString! optional - // NSData returned - guard let data = Data( - base64Encoded: base64Encoded, - options: NSData.Base64DecodingOptions()), - let base64Decoded = NSString(data: data, encoding: String.Encoding.utf8.rawValue) else { - return "" - } - - return base64Decoded as String - } -} diff --git a/package-lock.json b/package-lock.json new file mode 100644 index 0000000..75762d8 --- /dev/null +++ b/package-lock.json @@ -0,0 +1,119 @@ +{ + "name": "fayeswift-demo", + "version": "1.0.0", + "lockfileVersion": 1, + "requires": true, + "dependencies": { + "buffer-from": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.1.tgz", + "integrity": "sha512-MQcXEUbCKtEo7bhqEs6560Hyd4XaovZlO/k9V3hjVUF/zwW7KBVdSK4gIt/bzwS9MbR5qob+F5jusZsb0YQK2A==" + }, + "concat-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/concat-stream/-/concat-stream-2.0.0.tgz", + "integrity": "sha512-MWufYdFw53ccGjCA+Ol7XJYpAlW6/prSMzuPOTRnJGcGzuhLn4Scrz7qf6o8bROZ514ltazcIFJZevcfbo0x7A==", + "requires": { + "buffer-from": "^1.0.0", + "inherits": "^2.0.3", + "readable-stream": "^3.0.2", + "typedarray": "^0.0.6" + } + }, + "cookiejar": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/cookiejar/-/cookiejar-2.1.2.tgz", + "integrity": "sha512-Mw+adcfzPxcPeI+0WlvRrr/3lGVO0bD75SxX6811cxSh1Wbxx7xZBGK1eVtDf6si8rg2lhnUjsVLMFMfbRIuwA==" + }, + "csprng": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/csprng/-/csprng-0.1.2.tgz", + "integrity": "sha1-S8aPEvo2jSUqWYQcusqXSxirReI=", + "requires": { + "sequin": "*" + } + }, + "faye": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/faye/-/faye-1.0.3.tgz", + "integrity": "sha1-5lk8H2HhkqhaOx8iHjF7hVBfXx8=", + "requires": { + "concat-stream": "^2.0.0", + "cookiejar": "^2.1.2", + "csprng": "^0.1.2", + "faye-websocket": ">=0.7.0" + } + }, + "faye-websocket": { + "version": "0.11.3", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.3.tgz", + "integrity": "sha512-D2y4bovYpzziGgbHYtGCMjlJM36vAl/y+xUyn1C+FVx8szd1E+86KwVw6XvYSzOP8iMpm1X0I4xJD+QtUb36OA==", + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "http-parser-js": { + "version": "0.4.10", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.4.10.tgz", + "integrity": "sha1-ksnBN0w1CF912zWexWzCV8u5P6Q=" + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.0.tgz", + "integrity": "sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg==" + }, + "sequin": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/sequin/-/sequin-0.1.1.tgz", + "integrity": "sha1-XC04nWajg3NOqvvEXt6ywcsb5wE=" + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "requires": { + "safe-buffer": "~5.2.0" + } + }, + "typedarray": { + "version": "0.0.6", + "resolved": "https://registry.npmjs.org/typedarray/-/typedarray-0.0.6.tgz", + "integrity": "sha1-hnrHTjhkGHsdPUfZlqeOxciDB3c=" + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "websocket-driver": { + "version": "0.7.3", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.3.tgz", + "integrity": "sha512-bpxWlvbbB459Mlipc5GBzzZwhoZgGEZLuqPaR0INBGnPAY1vdBX6hPnoFXiw+3yWxDuHyQjO2oXTMyS8A5haFg==", + "requires": { + "http-parser-js": ">=0.4.0 <0.4.11", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.3", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.3.tgz", + "integrity": "sha512-nqHUnMXmBzT0w570r2JpJxfiSD1IzoI+HGVdd3aZ0yNi3ngvQ4jv1dtHt5VGxfI2yj5yqImPhOK4vmIh2xMbGg==" + } + } +} diff --git a/package.json b/package.json index 76aaf25..7d3e6bf 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { - "name" : "fayeswift-demo", - "version" : "1.0.0", - "dependencies" : { - "faye" : "1.0.3" + "name": "fayeswift-demo", + "version": "1.0.0", + "dependencies": { + "faye": "1.0.3" } } From 93bd76d3791f2744d28a7fd47250991ef96b80f3 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Mon, 23 Mar 2020 17:45:46 +0000 Subject: [PATCH 05/24] FayeSubsccriptionModel encodable --- Example/FayeSwift/ViewController.swift | 6 +- Sources/FayeClient+Bayuex.swift | 57 +++++----- Sources/FayeClient+Parsing.swift | 39 ++++--- Sources/FayeClient+Subscriptions.swift | 23 ++-- Sources/FayeClient+Transport.swift | 1 - Sources/FayeClient.swift | 4 +- Sources/FayeSubscriptionModel.swift | 152 ++++++++++++++----------- 7 files changed, 157 insertions(+), 125 deletions(-) diff --git a/Example/FayeSwift/ViewController.swift b/Example/FayeSwift/ViewController.swift index 145e00b..2e85c17 100644 --- a/Example/FayeSwift/ViewController.swift +++ b/Example/FayeSwift/ViewController.swift @@ -40,7 +40,7 @@ class ViewController: UIViewController, UITextFieldDelegate, FayeClientDelegate } DispatchQueue.main.asyncAfter(deadline: delayTime) { - let model = FayeSubscriptionModel(subscription: "/awesome", clientId: nil) + let model = FayeSubscriptionModel(subscription: "/awesome", channel: .Subscribe, clientId: nil) _ = self.client.subscribeToChannel(model, block: { [unowned self] messages in print("awesome response: \(messages)") @@ -92,6 +92,10 @@ class ViewController: UIViewController, UITextFieldDelegate, FayeClientDelegate print("pong") } + func pingReceived(_ client: FayeClient) { + print("ping") + } + func connectedToServer(_ client: FayeClient) { print("Successfully connected") } diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index 0384656..c39e06c 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -42,7 +42,7 @@ public enum BayeuxConnection: String { } // MARK: BayuexChannel Messages -public enum BayeuxChannel: String { +public enum BayeuxChannel: String, Encodable, Equatable{ case Handshake = "/meta/handshake" case Connect = "/meta/connect" case Disconnect = "/meta/disconnect" @@ -80,17 +80,17 @@ extension FayeClient { // "supportedConnectionTypes": ["long-polling", "callback-polling", "iframe", "websocket] func handshake() { writeOperationQueue.sync { [unowned self] in - let connTypes:NSArray = [BayeuxConnection.LongPolling.rawValue, BayeuxConnection.Callback.rawValue, BayeuxConnection.iFrame.rawValue, BayeuxConnection.WebSocket.rawValue] + let connTypes:NSArray = [BayeuxConnection.LongPolling.rawValue, + BayeuxConnection.Callback.rawValue, + BayeuxConnection.iFrame.rawValue, + BayeuxConnection.WebSocket.rawValue] var dict = [String: AnyObject]() dict[Bayeux.Channel.rawValue] = BayeuxChannel.Handshake.rawValue as AnyObject? dict[Bayeux.Version.rawValue] = "1.0" as AnyObject? dict[Bayeux.MinimumVersion.rawValue] = "1.0beta" as AnyObject? dict[Bayeux.SupportedConnectionTypes.rawValue] = connTypes - - if let string = JSON(dict).rawString() { - self.transport?.writeString(string) - } + send(dict) } } @@ -106,10 +106,7 @@ extension FayeClient { Bayeux.ConnectionType.rawValue: BayeuxConnection.WebSocket.rawValue as AnyObject, Bayeux.Advice.rawValue: ["timeout": self.timeOut] as AnyObject ] - - if let string = JSON(dict).rawString() { - self.transport?.writeString(string) - } + send(dict) } } @@ -118,10 +115,13 @@ extension FayeClient { // "clientId": "Un1q31d3nt1f13r" func disconnect() { writeOperationQueue.sync { [unowned self] in - let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Disconnect.rawValue as AnyObject, Bayeux.ClientId.rawValue: self.fayeClientId! as AnyObject, Bayeux.ConnectionType.rawValue: BayeuxConnection.WebSocket.rawValue as AnyObject] + let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Disconnect.rawValue as AnyObject, + Bayeux.ClientId.rawValue: self.fayeClientId! as AnyObject, + Bayeux.ConnectionType.rawValue: BayeuxConnection.WebSocket.rawValue as AnyObject] if let string = JSON(dict).rawString() { self.transport?.writeString(string) } + send(dict) } } @@ -132,17 +132,20 @@ extension FayeClient { func subscribe(_ model:FayeSubscriptionModel) { writeOperationQueue.sync { [unowned self] in do { - let json = try model.jsonString() + let json = try JSONEncoder().encode(model) + guard let string = String(data: json, encoding: .utf8) else { return } - self.transport?.writeString(json) + self.transport?.writeString(string) self.pendingSubscriptions.append(model) - } catch FayeSubscriptionModelError.conversationError { - - } catch FayeSubscriptionModelError.clientIdNotValid - where self.fayeClientId?.count > 0 { - var model = model - model.clientId = self.fayeClientId - self.subscribe(model) + + // TODO: fix this +// } catch FayeSubscriptionModelError.conversationError { +// +// } catch FayeSubscriptionModelError.clientIdNotValid +// where self.fayeClientId?.count > 0 { +// var model = model +// model.clientId = self.fayeClientId +// self.subscribe(model) } catch { } @@ -158,11 +161,10 @@ extension FayeClient { func unsubscribe(_ channel:String) { writeOperationQueue.sync { [unowned self] in if let clientId = self.fayeClientId { - let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Unsubscibe.rawValue as AnyObject, Bayeux.ClientId.rawValue: clientId as AnyObject, Bayeux.Subscription.rawValue: channel as AnyObject] - - if let string = JSON(dict).rawString() { - self.transport?.writeString(string) - } + let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Unsubscibe.rawValue as AnyObject, + Bayeux.ClientId.rawValue: clientId as AnyObject, + Bayeux.Subscription.rawValue: channel as AnyObject] + send(dict) } } } @@ -184,10 +186,7 @@ extension FayeClient { Bayeux.Data.rawValue: data as AnyObject ] - if let string = JSON(dict).rawString() { - print("Faye: Publish string: \(string)") - self?.transport?.writeString(string) - } + send(dict) } } } diff --git a/Sources/FayeClient+Parsing.swift b/Sources/FayeClient+Parsing.swift index 9a9ef91..a9f3492 100644 --- a/Sources/FayeClient+Parsing.swift +++ b/Sources/FayeClient+Parsing.swift @@ -7,21 +7,20 @@ // import Foundation -import SwiftyJSON extension FayeClient { // MARK: Parsing - func parseFayeMessage(_ messageJSON:JSON) { - let messageDict = messageJSON[0] - if let channel = messageDict[Bayeux.Channel.rawValue].string { - + func parseFayeJsonDictionaryMessage(_ message: [String: Any]) { + let messageDict = message + if let channel = messageDict[Bayeux.Channel.rawValue] as? String { + // Handle Meta Channels if let metaChannel = BayeuxChannel(rawValue: channel) { switch(metaChannel) { case .Handshake: - self.fayeClientId = messageDict[Bayeux.ClientId.rawValue].stringValue - if messageDict[Bayeux.Successful.rawValue].int == 1 { + self.fayeClientId = messageDict[Bayeux.ClientId.rawValue] as? String + if (messageDict[Bayeux.Successful.rawValue] as? Int) == 1 { self.delegate?.connectedToServer(self) self.fayeConnected = true; self.connect() @@ -31,14 +30,14 @@ extension FayeClient { // OOPS } case .Connect: - if messageDict[Bayeux.Successful.rawValue].int == 1 { + if (messageDict[Bayeux.Successful.rawValue] as? Int) == 1 { self.fayeConnected = true; self.connect() } else { // OOPS } case .Disconnect: - if messageDict[Bayeux.Successful.rawValue].int == 1 { + if (messageDict[Bayeux.Successful.rawValue] as? Int) == 1 { self.fayeConnected = false; self.transport?.closeConnection() self.delegate?.disconnectedFromServer(self) @@ -46,21 +45,21 @@ extension FayeClient { // OOPS } case .Subscribe: - if let success = messageJSON[0][Bayeux.Successful.rawValue].int, success == 1 { - if let subscription = messageJSON[0][Bayeux.Subscription.rawValue].string { + if let success = messageDict[Bayeux.Successful.rawValue] as? Int, success == 1 { + if let subscription = messageDict[Bayeux.Subscription.rawValue] as? String { _ = removeChannelFromPendingSubscriptions(subscription) - - self.openSubscriptions.append(FayeSubscriptionModel(subscription: subscription, clientId: fayeClientId)) + + self.openSubscriptions.append(FayeSubscriptionModel(subscription: subscription, channel: .Subscribe, clientId: fayeClientId)) self.delegate?.didSubscribeToChannel(self, channel: subscription) } else { print("Faye: Missing subscription for Subscribe") } } else { // Subscribe Failed - if let error = messageJSON[0][Bayeux.Error.rawValue].string, - let subscription = messageJSON[0][Bayeux.Subscription.rawValue].string { + if let error = messageDict[Bayeux.Error.rawValue] as? String, + let subscription = messageDict[Bayeux.Subscription.rawValue] as? String { _ = removeChannelFromPendingSubscriptions(subscription) - + self.delegate?.subscriptionFailedWithError( self, error: subscriptionError.error(subscription: subscription, error: error) @@ -68,7 +67,7 @@ extension FayeClient { } } case .Unsubscibe: - if let subscription = messageJSON[0][Bayeux.Subscription.rawValue].string { + if let subscription = messageDict[Bayeux.Subscription.rawValue] as? String { _ = removeChannelFromOpenSubscriptions(subscription) self.delegate?.didUnsubscribeFromChannel(self, channel: subscription) } else { @@ -84,11 +83,11 @@ extension FayeClient { } } - private func handleMessageReceived(_ messageDict: JSON, channel: String) { + private func handleMessageReceived(_ messageDict: [String: Any], channel: String) { // Handle Client Channel if self.isSubscribedToChannel(channel) { - if messageDict[0][Bayeux.Data.rawValue] != JSON.null { - let data: AnyObject = messageDict[0][Bayeux.Data.rawValue].object as AnyObject + if messageDict[Bayeux.Data.rawValue] != nil { + let data = messageDict[Bayeux.Data.rawValue] as AnyObject if let channelBlock = self.channelSubscriptionBlocks[channel] { channelBlock(data as! NSDictionary) diff --git a/Sources/FayeClient+Subscriptions.swift b/Sources/FayeClient+Subscriptions.swift index d0b1994..edbec86 100644 --- a/Sources/FayeClient+Subscriptions.swift +++ b/Sources/FayeClient+Subscriptions.swift @@ -7,7 +7,6 @@ // import Foundation -import SwiftyJSON // MARK: Private Internal methods extension FayeClient { @@ -40,9 +39,10 @@ extension FayeClient { // MARK: // MARK: Send/Receive - func send(_ message: NSDictionary) { + func send(_ message: [String: Any]) { writeOperationQueue.async { [unowned self] in - if let string = JSON(message).rawString() { + if let data = try? JSONSerialization.data(withJSONObject: message, options: .prettyPrinted), + let string = String(data: data, encoding: .utf8) { self.transport?.writeString(string) } } @@ -50,18 +50,25 @@ extension FayeClient { func receive(_ message: String) { readOperationQueue.sync { [unowned self] in - if let jsonData = message.data(using: String.Encoding.utf8, allowLossyConversion: false), - let json = try? JSON(data: jsonData) { - self.parseFayeMessage(json) + do { + let jsonData = Data(message.utf8) + let jsonDictArray = try JSONSerialization.jsonObject(with: jsonData, options: .fragmentsAllowed) as? [Any] + guard let jsonDict = jsonDictArray?.first as? [String: Any] else { return } + parseFayeJsonDictionaryMessage(jsonDict) + } catch { + // TODO: Add an error here to forward on for failed to decode } } } func receive(_ data: Data) { readOperationQueue.sync { [unowned self] in - if let json = try? JSON(data: data) { + do { + let jsonDictArray = try JSONSerialization.jsonObject(with: data, options: .fragmentsAllowed) as? [Any] + guard let jsonDict = jsonDictArray?.first as? [String: Any] else { return } + parseFayeJsonDictionaryMessage(jsonDict) + } catch { // TODO: Add an error here to forward on for failed to decode - self.parseFayeMessage(json) } } } diff --git a/Sources/FayeClient+Transport.swift b/Sources/FayeClient+Transport.swift index eda0cc0..deeff54 100644 --- a/Sources/FayeClient+Transport.swift +++ b/Sources/FayeClient+Transport.swift @@ -46,5 +46,4 @@ extension FayeClient: TransportDelegate { public func didReceivePing() { self.delegate?.pingReceived(self) } - } diff --git a/Sources/FayeClient.swift b/Sources/FayeClient.swift index abc8e24..b2d79ff 100644 --- a/Sources/FayeClient.swift +++ b/Sources/FayeClient.swift @@ -91,7 +91,7 @@ open class FayeClient { self.transport!.delegate = self; if let channel = channel { - self.queuedSubscriptions.append(FayeSubscriptionModel(subscription: channel, clientId: fayeClientId)) + self.queuedSubscriptions.append(FayeSubscriptionModel(subscription: channel, channel: .Subscribe, clientId: fayeClientId)) } } @@ -160,7 +160,7 @@ open class FayeClient { open func subscribeToChannel(_ channel:String, block:ChannelSubscriptionBlock?=nil) -> FayeSubscriptionState { return subscribeToChannel( - FayeSubscriptionModel(subscription: channel, clientId: fayeClientId), + FayeSubscriptionModel(subscription: channel, channel: .Subscribe, clientId: fayeClientId), block: block ) } diff --git a/Sources/FayeSubscriptionModel.swift b/Sources/FayeSubscriptionModel.swift index e108b8d..ee8e63e 100644 --- a/Sources/FayeSubscriptionModel.swift +++ b/Sources/FayeSubscriptionModel.swift @@ -9,84 +9,108 @@ import Foundation import SwiftyJSON -public enum FayeSubscriptionModelError: Error { - case conversationError - case clientIdNotValid -} +//public enum FayeSubscriptionModelError: Error { +// case conversationError +// case clientIdNotValid +//} +// +//// MARK: +//// MARK: FayeSubscriptionModel +// +///// Subscription Model +//open class FayeSubscriptionModel { +// +// /// Subscription URL +// let subscription: String +// +// /// Channel type for request +// let channel: BayeuxChannel +// +// /// Uniqle client id for socket +// var clientId: String? +// +// /// Model must conform to Hashable +// var hashValue: Int { +// return subscription.hashValue +// } +// +// // MARK: +// // MARK: Init +// +// public init(subscription: String, channel: BayeuxChannel=BayeuxChannel.Subscribe, clientId: String?) { +// self.subscription = subscription +// self.channel = channel +// self.clientId = clientId +// } +// +// // MARK: +// // MARK: JSON +// +// /// Return Json string from model +// open func jsonString() throws -> String { +// do { +// guard let model = try JSON(toDictionary()).rawString() else { +// throw FayeSubscriptionModelError.conversationError +// } +// +// return model +// } catch { +// throw FayeSubscriptionModelError.clientIdNotValid +// } +// } +// +// // MARK: +// // MARK: Helper +// +// /// Create dictionary of model object, Subclasses should override method to return custom model +// open func toDictionary() throws -> [String: AnyObject] { +// guard let clientId = clientId else { +// throw FayeSubscriptionModelError.clientIdNotValid +// } +// +// return [Bayeux.Channel.rawValue: channel.rawValue as AnyObject, +// Bayeux.ClientId.rawValue: clientId as AnyObject, +// Bayeux.Subscription.rawValue: subscription as AnyObject] +// } +//} +// +//// MARK: +//// MARK: Description +// +//extension FayeSubscriptionModel: CustomStringConvertible { +// +// public var description: String { +// return "FayeSubscriptionModel: \(try? self.toDictionary())" +// } +//} +// +//// MARK: +//// MARK: Equatable +// +//public func ==(lhs: FayeSubscriptionModel, rhs: FayeSubscriptionModel) -> Bool { +// return lhs.hashValue == rhs.hashValue +//} -// MARK: -// MARK: FayeSubscriptionModel -/// Subscription Model -open class FayeSubscriptionModel { - +public struct FayeSubscriptionModel: Encodable, Equatable { + /// Subscription URL let subscription: String - + /// Channel type for request let channel: BayeuxChannel - + /// Uniqle client id for socket var clientId: String? - + /// Model must conform to Hashable var hashValue: Int { return subscription.hashValue } - - // MARK: - // MARK: Init - - public init(subscription: String, channel: BayeuxChannel=BayeuxChannel.Subscribe, clientId: String?) { + + public init(subscription: String, channel: BayeuxChannel, clientId: String?) { self.subscription = subscription self.channel = channel self.clientId = clientId } - - // MARK: - // MARK: JSON - - /// Return Json string from model - open func jsonString() throws -> String { - do { - guard let model = try JSON(toDictionary()).rawString() else { - throw FayeSubscriptionModelError.conversationError - } - - return model - } catch { - throw FayeSubscriptionModelError.clientIdNotValid - } - } - - // MARK: - // MARK: Helper - - /// Create dictionary of model object, Subclasses should override method to return custom model - open func toDictionary() throws -> [String: AnyObject] { - guard let clientId = clientId else { - throw FayeSubscriptionModelError.clientIdNotValid - } - - return [Bayeux.Channel.rawValue: channel.rawValue as AnyObject, - Bayeux.ClientId.rawValue: clientId as AnyObject, - Bayeux.Subscription.rawValue: subscription as AnyObject] - } -} - -// MARK: -// MARK: Description - -extension FayeSubscriptionModel: CustomStringConvertible { - - public var description: String { - return "FayeSubscriptionModel: \(try? self.toDictionary())" - } -} - -// MARK: -// MARK: Equatable - -public func ==(lhs: FayeSubscriptionModel, rhs: FayeSubscriptionModel) -> Bool { - return lhs.hashValue == rhs.hashValue } From c97d8bfe2eecb2783d311704913657b2b1368297 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Tue, 24 Mar 2020 10:15:15 +0000 Subject: [PATCH 06/24] Fixed subscribe method --- Sources/FayeClient+Bayuex.swift | 16 +++++----------- 1 file changed, 5 insertions(+), 11 deletions(-) diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index c39e06c..1d01a7b 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -124,7 +124,7 @@ extension FayeClient { send(dict) } } - + // Bayeux Subscribe // "channel": "/meta/subscribe", // "clientId": "Un1q31d3nt1f13r", @@ -132,22 +132,16 @@ extension FayeClient { func subscribe(_ model:FayeSubscriptionModel) { writeOperationQueue.sync { [unowned self] in do { - let json = try JSONEncoder().encode(model) + var newModel = model + if newModel.clientId == nil { newModel.clientId = self.fayeClientId } + let json = try JSONEncoder().encode(newModel) guard let string = String(data: json, encoding: .utf8) else { return } self.transport?.writeString(string) self.pendingSubscriptions.append(model) - // TODO: fix this -// } catch FayeSubscriptionModelError.conversationError { -// -// } catch FayeSubscriptionModelError.clientIdNotValid -// where self.fayeClientId?.count > 0 { -// var model = model -// model.clientId = self.fayeClientId -// self.subscribe(model) } catch { - + } } } From cc4a9e520477f24e7cd70747e522b847fc927498 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Tue, 24 Mar 2020 10:20:55 +0000 Subject: [PATCH 07/24] SwiftyJson fully removed --- Example/FayeSwift.xcodeproj/project.pbxproj | 6 +- Example/Podfile.lock | 6 +- .../Local Podspecs/FayeSwift.podspec.json | 3 - Example/Pods/Manifest.lock | 6 +- Example/Pods/Pods.xcodeproj/project.pbxproj | 1040 +++++++---------- Example/Pods/SwiftyJSON/LICENSE | 21 - Example/Pods/SwiftyJSON/README.md | 562 --------- .../FayeSwift/FayeSwift.xcconfig | 2 +- ...ayeSwift_Example-acknowledgements.markdown | 25 - ...s-FayeSwift_Example-acknowledgements.plist | 31 - .../Pods-FayeSwift_Example-frameworks.sh | 2 - .../Pods-FayeSwift_Example.debug.xcconfig | 8 +- .../Pods-FayeSwift_Example.release.xcconfig | 8 +- ...-FayeSwift_Tests-acknowledgements.markdown | 25 - ...ods-FayeSwift_Tests-acknowledgements.plist | 31 - .../Pods-FayeSwift_Tests-frameworks.sh | 2 - .../Pods-FayeSwift_Tests.debug.xcconfig | 8 +- .../Pods-FayeSwift_Tests.release.xcconfig | 8 +- .../SwiftyJSON/Info.plist | 26 - .../SwiftyJSON/SwiftyJSON-dummy.m | 5 - .../SwiftyJSON/SwiftyJSON-prefix.pch | 12 - .../SwiftyJSON/SwiftyJSON-umbrella.h | 16 - .../SwiftyJSON/SwiftyJSON.modulemap | 6 - .../SwiftyJSON/SwiftyJSON.xcconfig | 10 - .../Pods_FayeSwift_Example_vers.c | 1 - .../arm64/Pods_FayeSwift_Example.LinkFileList | 2 - .../armv7/Pods_FayeSwift_Example.LinkFileList | 2 - ...mple-all-non-framework-target-headers.hmap | Bin 2205 -> 0 bytes ..._FayeSwift_Example-all-target-headers.hmap | Bin 2205 -> 0 bytes ...ods_FayeSwift_Example-generated-files.hmap | Bin 327 -> 0 bytes ..._FayeSwift_Example-own-target-headers.hmap | Bin 1619 -> 0 bytes ...ods_FayeSwift_Example-project-headers.hmap | Bin 1953 -> 0 bytes .../Pods_FayeSwift_Example.hmap | Bin 2483 -> 0 bytes .../Pods-FayeSwift_Example.build/dgph | Bin 103 -> 0 bytes .../module.modulemap | 6 - .../Pods_FayeSwift_Tests_vers.c | 1 - .../arm64/Pods_FayeSwift_Tests.LinkFileList | 2 - .../armv7/Pods_FayeSwift_Tests.LinkFileList | 2 - ...ests-all-non-framework-target-headers.hmap | Bin 2205 -> 0 bytes ...ds_FayeSwift_Tests-all-target-headers.hmap | Bin 2205 -> 0 bytes .../Pods_FayeSwift_Tests-generated-files.hmap | Bin 319 -> 0 bytes ...ds_FayeSwift_Tests-own-target-headers.hmap | Bin 1615 -> 0 bytes .../Pods_FayeSwift_Tests-project-headers.hmap | Bin 1953 -> 0 bytes .../Pods_FayeSwift_Tests.hmap | Bin 2475 -> 0 bytes .../Pods-FayeSwift_Tests.build/dgph | Bin 103 -> 0 bytes .../module.modulemap | 6 - .../DerivedSources/Starscream_vers.c | 1 - .../arm64/Starscream-OutputFileMap.json | 1 - .../arm64/Starscream.LinkFileList | 4 - .../armv7/Starscream-OutputFileMap.json | 1 - .../armv7/Starscream.LinkFileList | 4 - ...ream-all-non-framework-target-headers.hmap | Bin 2205 -> 0 bytes .../Starscream-all-target-headers.hmap | Bin 2205 -> 0 bytes .../Starscream-generated-files.hmap | Bin 279 -> 0 bytes .../Starscream-own-target-headers.hmap | Bin 1595 -> 0 bytes .../Starscream-project-headers.hmap | Bin 1953 -> 0 bytes .../Starscream.build/Starscream.hmap | Bin 2519 -> 0 bytes .../Debug-iphoneos/Starscream.build/dgph | Bin 103 -> 0 bytes .../Starscream.build/module.modulemap | 10 - .../Starscream.build/swift-overrides.hmap | Bin 490 -> 0 bytes .../unextended-module-overlay.yaml | 13 - .../unextended-module.modulemap | 10 - .../DerivedSources/SwiftyJSON_vers.c | 1 - .../arm64/SwiftyJSON-OutputFileMap.json | 1 - .../arm64/SwiftyJSON.LinkFileList | 3 - .../armv7/SwiftyJSON-OutputFileMap.json | 1 - .../armv7/SwiftyJSON.LinkFileList | 3 - ...JSON-all-non-framework-target-headers.hmap | Bin 2205 -> 0 bytes .../SwiftyJSON-all-target-headers.hmap | Bin 2205 -> 0 bytes .../SwiftyJSON-generated-files.hmap | Bin 279 -> 0 bytes .../SwiftyJSON-own-target-headers.hmap | Bin 1595 -> 0 bytes .../SwiftyJSON-project-headers.hmap | Bin 1953 -> 0 bytes .../SwiftyJSON.build/SwiftyJSON.hmap | Bin 2519 -> 0 bytes .../Debug-iphoneos/SwiftyJSON.build/dgph | Bin 103 -> 0 bytes .../SwiftyJSON.build/module.modulemap | 10 - .../SwiftyJSON.build/swift-overrides.hmap | Bin 490 -> 0 bytes .../unextended-module-overlay.yaml | 13 - .../unextended-module.modulemap | 10 - FayeSwift.podspec | 1 - Sources/FayeClient+Bayuex.swift | 7 +- Sources/FayeClient.swift | 1 - Sources/FayeSubscriptionModel.swift | 84 -- 82 files changed, 440 insertions(+), 1630 deletions(-) delete mode 100644 Example/Pods/SwiftyJSON/LICENSE delete mode 100644 Example/Pods/SwiftyJSON/README.md delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/Info.plist delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap delete mode 100644 Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/DerivedSources/Pods_FayeSwift_Example_vers.c delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods_FayeSwift_Example.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods_FayeSwift_Example.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-all-non-framework-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-all-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-generated-files.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-own-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-project-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/dgph delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/module.modulemap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/DerivedSources/Pods_FayeSwift_Tests_vers.c delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods_FayeSwift_Tests.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods_FayeSwift_Tests.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-non-framework-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-generated-files.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-own-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-project-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/dgph delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/module.modulemap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/DerivedSources/Starscream_vers.c delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream-OutputFileMap.json delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream-OutputFileMap.json delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-non-framework-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-generated-files.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-own-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-project-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/dgph delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/module.modulemap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/swift-overrides.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module-overlay.yaml delete mode 100644 Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module.modulemap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/DerivedSources/SwiftyJSON_vers.c delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON-OutputFileMap.json delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON-OutputFileMap.json delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON.LinkFileList delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-all-non-framework-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-all-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-generated-files.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-own-target-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-project-headers.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/dgph delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/module.modulemap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/swift-overrides.hmap delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module-overlay.yaml delete mode 100644 Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module.modulemap diff --git a/Example/FayeSwift.xcodeproj/project.pbxproj b/Example/FayeSwift.xcodeproj/project.pbxproj index 982d2ee..296f457 100644 --- a/Example/FayeSwift.xcodeproj/project.pbxproj +++ b/Example/FayeSwift.xcodeproj/project.pbxproj @@ -28,7 +28,7 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 0FB02F967E53932A0EC5BD3A /* FayeSwift.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = FayeSwift.podspec; path = ../FayeSwift.podspec; sourceTree = ""; }; + 0FB02F967E53932A0EC5BD3A /* FayeSwift.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = FayeSwift.podspec; path = ../FayeSwift.podspec; sourceTree = ""; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 184DB2AC7D39B8841A288465 /* Pods-FayeSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-FayeSwift_Example.release.xcconfig"; path = "Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig"; sourceTree = ""; }; 607FACD01AFB9204008FA782 /* FayeSwift_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = FayeSwift_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = ""; }; @@ -289,13 +289,11 @@ "${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh", "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework", "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework", - "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FayeSwift.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; @@ -311,13 +309,11 @@ "${PODS_ROOT}/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh", "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework", "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework", - "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework", ); name = "[CP] Embed Pods Frameworks"; outputPaths = ( "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FayeSwift.framework", "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Starscream.framework", - "${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SwiftyJSON.framework", ); runOnlyForDeploymentPostprocessing = 0; shellPath = /bin/sh; diff --git a/Example/Podfile.lock b/Example/Podfile.lock index 14e887b..c4efb59 100644 --- a/Example/Podfile.lock +++ b/Example/Podfile.lock @@ -1,9 +1,7 @@ PODS: - FayeSwift (0.4.0): - Starscream (~> 4.0.0) - - SwiftyJSON (~> 5.0.0) - Starscream (4.0.0) - - SwiftyJSON (5.0.0) DEPENDENCIES: - FayeSwift (from `../`) @@ -11,16 +9,14 @@ DEPENDENCIES: SPEC REPOS: https://github.com/CocoaPods/Specs.git: - Starscream - - SwiftyJSON EXTERNAL SOURCES: FayeSwift: :path: "../" SPEC CHECKSUMS: - FayeSwift: ec422983037b3f9d46fb10328497cf6b413128af + FayeSwift: b9c1316dd967a51befe22e1ec0faff6cc914955e Starscream: 04b26f02727e10a002e6b5d21b188ba0d049910b - SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7 PODFILE CHECKSUM: cda739a33c3a43c81b405d9eee2a84c5b9d19f1b diff --git a/Example/Pods/Local Podspecs/FayeSwift.podspec.json b/Example/Pods/Local Podspecs/FayeSwift.podspec.json index 06dd2bf..ebf2948 100644 --- a/Example/Pods/Local Podspecs/FayeSwift.podspec.json +++ b/Example/Pods/Local Podspecs/FayeSwift.podspec.json @@ -23,9 +23,6 @@ "dependencies": { "Starscream": [ "~> 4.0.0" - ], - "SwiftyJSON": [ - "~> 5.0.0" ] } } diff --git a/Example/Pods/Manifest.lock b/Example/Pods/Manifest.lock index 14e887b..c4efb59 100644 --- a/Example/Pods/Manifest.lock +++ b/Example/Pods/Manifest.lock @@ -1,9 +1,7 @@ PODS: - FayeSwift (0.4.0): - Starscream (~> 4.0.0) - - SwiftyJSON (~> 5.0.0) - Starscream (4.0.0) - - SwiftyJSON (5.0.0) DEPENDENCIES: - FayeSwift (from `../`) @@ -11,16 +9,14 @@ DEPENDENCIES: SPEC REPOS: https://github.com/CocoaPods/Specs.git: - Starscream - - SwiftyJSON EXTERNAL SOURCES: FayeSwift: :path: "../" SPEC CHECKSUMS: - FayeSwift: ec422983037b3f9d46fb10328497cf6b413128af + FayeSwift: b9c1316dd967a51befe22e1ec0faff6cc914955e Starscream: 04b26f02727e10a002e6b5d21b188ba0d049910b - SwiftyJSON: 36413e04c44ee145039d332b4f4e2d3e8d6c4db7 PODFILE CHECKSUM: cda739a33c3a43c81b405d9eee2a84c5b9d19f1b diff --git a/Example/Pods/Pods.xcodeproj/project.pbxproj b/Example/Pods/Pods.xcodeproj/project.pbxproj index 75f4b10..34fb6bb 100644 --- a/Example/Pods/Pods.xcodeproj/project.pbxproj +++ b/Example/Pods/Pods.xcodeproj/project.pbxproj @@ -7,109 +7,83 @@ objects = { /* Begin PBXBuildFile section */ - 138B028F2781F34FC2CB743BA8963FA8 /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */; }; - 1E50A2A08E2D38A9DE964FF9AA2422D3 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */; }; - 1EBC62F41CC90D12AFBF45BA5FCD976E /* WebsocketTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */; }; - 1F3635C339655885D10797FC8ABD7E8A /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */; }; - 26D0D7BAFEB2991FF2645D209ADE0BC3 /* Pods-FayeSwift_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 35628E6BE1E430358FD214EB19AF2E38 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */; }; - 371AE48204C97C939981924FBB3E3C70 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */; }; - 3D40950A2A032BF1E7C484F9F74A2A27 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */; }; - 3E0613C79EDFB2F6526B335205C961D2 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */; }; - 45C838EF6C400BF9A4FA6330DCA8FF98 /* FayeSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */; }; - 4F3FFB2EBD058878FCE7BECC5CB31523 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; - 52C2F5AA0D179F742394477ECF98BBFD /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4239408D88CF436217DE67140C09B171 /* Transport.swift */; }; - 5B0CD91FE8FAC97D47C421C11DAA0422 /* FayeSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 5DF3DF5AB474D53CAFC036C1CB4B4B66 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */; }; - 5FB5546CB2F4BAA36E9A2146FB4D75DB /* SwiftyJSON-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */; }; - 62FCD7F0DA368198F57272D1682DD66A /* NSError+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */; }; - 65101ADC15F4CCE85719A1A6E438A35F /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; - 7404C01D26E709ECEA13C96FC15D75EB /* FayeClient+Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */; }; - 74AD214F3F2B356268F80DD79EF54C6C /* SwiftyJSON.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */; }; - 74C67375E014FEE93E343794C340DAE4 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */; }; - 7865C7456AC8DDA986065CB404EBD506 /* Pods-FayeSwift_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */; }; - 7A01B7C3FFA07FB1B99E7766CD20DFAA /* Pods-FayeSwift_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 7A8AA475862499E7D1525843B24CAA1E /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */; }; - 7D2A8514AF1C3A71622C4FE05D18E0A6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; - 7F969E29E261561AEA1DECCD39F67B60 /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */; }; - 85C2B16BF2F5A22ACB57013708514FC2 /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - 88B54AC18FE3E221B13D26B428D189B9 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; - 893EA64D6F55C8DA8ED037570777326E /* FayeClient+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */; }; - 8D64DF55AB5B232EEA58818B56EBE442 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */; }; - 90F965102E8A76F689A8E19C2463FB3B /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */; }; - 93524EF16C1EA133AD0893B6FF138B30 /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */; }; - 97DA4510146BCEF10BD53BD5CC1459CA /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */; }; - 99CABBFF5653DCB301C355A857599B58 /* SwiftyJSON-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; - A100344FC632242FDEAA4BFC0FC01534 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */; }; - A29DCC96E5AB5067E8BED0CFD06FA96B /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */; }; - B471CF5E4D5068291D4CC54CBF89E964 /* SwiftyJSON.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */; }; - BFF0B7845AD87F28D8FA3B9D2B209A26 /* FayeSubscriptionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */; }; - C02A130EB04E7E29FC9A3EE23466800C /* FayeClient+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */; }; - C154B9ECABD19498F2889B7FBA47BB47 /* FayeClientDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */; }; - C174E2114D6ABFF21E319E9888DB4748 /* FayeClient+Bayuex.swift in Sources */ = {isa = PBXBuildFile; fileRef = 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */; }; - C23A7A32046CDBACD4A677F7BDAA5277 /* FayeClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */; }; - CEA89811A22FE7A4CE7A1BC79A130B1D /* FayeClient+Subscriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */; }; - D4BB4F9AF3D954C2245DDC091A7033C5 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */; }; - D9145515CFF4ED198150DDB0C292AC93 /* FayeClient+Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */; }; - D9BF66AB4DA1FE122DE361C31ED25D69 /* Pods-FayeSwift_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */; }; - DD19B0C6316FB9E71A9CF15665A2D2D9 /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */; }; - F51ECAF8CB23CF31DF912528E378BC81 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */; }; - F8849D114B30E7BD395FE77F7A60CFDB /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */; }; - FB26CA8C3B66AD625A24452C4065D05E /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */; }; - FE7EFFB6A9757806696A3CD416946F74 /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */; }; + 0A3491AACF3B030E58B0D85DE94F9A77 /* FayeClient+Parsing.swift in Sources */ = {isa = PBXBuildFile; fileRef = 2EB69BC9BBF2B384084E0A128B4ED7BA /* FayeClient+Parsing.swift */; }; + 0BE11EC491137918A9DF1EBF7F8DA330 /* FayeSwift-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = CF1D16B5F6734884D1A2AA0A95510960 /* FayeSwift-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 11125B36965E6888DCB67E1D81AFF401 /* Pods-FayeSwift_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */; }; + 124C81DB033D760FF13720B7DAF7EB72 /* Server.swift in Sources */ = {isa = PBXBuildFile; fileRef = ACEC12C1CB4357C633347ECB15BFB3B5 /* Server.swift */; }; + 17BA7C9EF8E08E7C72C31C2B0C050AD3 /* Framer.swift in Sources */ = {isa = PBXBuildFile; fileRef = B469C9443C7A8332A92D93ECC1994F06 /* Framer.swift */; }; + 36F8640866D196BA4554E1CF36C1C7C5 /* WebSocket.swift in Sources */ = {isa = PBXBuildFile; fileRef = F12667FFFCB6455C3AC68BD65809B063 /* WebSocket.swift */; }; + 3C9AE0D0989200C0F066380910A49B43 /* FayeClientDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = A85EB7AD70AF154A65E123A6E977FB4F /* FayeClientDelegate.swift */; }; + 409FFD09F7C2AB1A2E3022C29E47AEBC /* FoundationHTTPServerHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 04F2F3AD59FADDCA9533C204CFDF5867 /* FoundationHTTPServerHandler.swift */; }; + 40D091CB32422C4223C2D860BF09AB75 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */; }; + 4118BD130476632693D8D681D64C7BDD /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = F97F6DC319A077725FE3D3805D810EE3 /* Transport.swift */; }; + 4AACE513E124D555D1DAD606417C9752 /* StringHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = D3C1CE0D417884E7034373A7E8F70AEE /* StringHTTPHandler.swift */; }; + 4CFA72BC9AE59D1D28BEB9CF5B3B99CB /* Compression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9D86F52B90B39CFACAE37DB765E30F4F /* Compression.swift */; }; + 4D17A29457AF97C39E46C715807B8FBB /* Starscream-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = D19B7EC27FA15B2300013D7A82983442 /* Starscream-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 55E5C4F8E92D2874B86296CCF24D5CA6 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */; }; + 5AE8C8FFA58A98FB2EF5D929AD97CC48 /* NSError+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = F3B3095DAD917854C0A3E374EA5BE89F /* NSError+Helper.swift */; }; + 6AB74EEBB2F512FBC6DA877C7229BF29 /* Pods-FayeSwift_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + 7053B1CF926C531F5CB324BA89A17054 /* Engine.swift in Sources */ = {isa = PBXBuildFile; fileRef = AAE24906F50C62DF73861EB94878B3E1 /* Engine.swift */; }; + 707CCBA3E88283A2484AB89D01BB133F /* FayeClient+Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = A07C34E68D9E43E3211E1DE86B1637BA /* FayeClient+Transport.swift */; }; + 769822593034E557EE0F4BBDE348010C /* FayeSubscriptionModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = 818B50B64E2C3E09C96ABBA95CA3D0C5 /* FayeSubscriptionModel.swift */; }; + 78683E4E8860467F8B67989CDC76B0E5 /* Starscream-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 2E51930C99B40B3CDCAE9033D4542611 /* Starscream-dummy.m */; }; + 7CE012168FD8F0965F8901B0029627FB /* WSEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = CB589DE2B64A840E0ECC99F8272D61F5 /* WSEngine.swift */; }; + 852A24A518E75BBFBEA4AB477C7C7B20 /* FayeClient+Helper.swift in Sources */ = {isa = PBXBuildFile; fileRef = 6288E7ED2202C227D9C958C0FB9ED2DA /* FayeClient+Helper.swift */; }; + 8672F7C0F34DA7E604A50E31C5BA74A9 /* WSCompression.swift in Sources */ = {isa = PBXBuildFile; fileRef = 0912441B3D68024A988E3646C03B9C3C /* WSCompression.swift */; }; + 96B137446187D6B76049502165F9B255 /* FoundationTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 73FEC6A7A0CAD1E0E51A64E7AAB383E1 /* FoundationTransport.swift */; }; + A1B3238EEF18EF8504E1A2B18B479930 /* Data+Extensions.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87AFDC947B6A78483A044B13CD643692 /* Data+Extensions.swift */; }; + A8C35B96DD9A45E079F633C82A88F7A0 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */; }; + A94CEE7B00FB102284B14D280DCE8911 /* Pods-FayeSwift_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; }; + B0B154E4BFA108C8EF088F0356A467CB /* FayeClient.swift in Sources */ = {isa = PBXBuildFile; fileRef = 94BBC1492D6764F1510A111F3BBAB68D /* FayeClient.swift */; }; + B81097DEBCF361189800556FB949DBE9 /* Pods-FayeSwift_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */; }; + B87DD765AA71CC66B9D882C0C2FF8C13 /* NativeEngine.swift in Sources */ = {isa = PBXBuildFile; fileRef = E6C718EF9BA76CE1CD7230F4AC227FB4 /* NativeEngine.swift */; }; + CC270E7D68EDF963C16A80ECD29ADA00 /* FayeClient+Action.swift in Sources */ = {isa = PBXBuildFile; fileRef = 650D755CE10E84D017B0C835DAD24E8C /* FayeClient+Action.swift */; }; + D283138A651C16A9FBA92A44351FA220 /* FrameCollector.swift in Sources */ = {isa = PBXBuildFile; fileRef = 5506D7C7E94836DA1634D95E0E9A2123 /* FrameCollector.swift */; }; + D91D98E11D6235C6729CF8A8A6CFCD4D /* Transport.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC20F6EF8AB486CB20AD946CBA6855F /* Transport.swift */; }; + E0738107A218CC695CD03194FE7CD79F /* Starscream.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3319CBE6BF16B5B2366BDE834B663B5E /* Starscream.framework */; }; + E8463FBD16B018470C5254943B1A9E5D /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */; }; + E8AA269278FDBCA618B4441AFC303B1C /* TCPTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = 22680B5A2B7A2EFD73302D95C85E8833 /* TCPTransport.swift */; }; + EA939E57D1B2125ACFFA6FEBA0AE1C09 /* WebSocketServer.swift in Sources */ = {isa = PBXBuildFile; fileRef = 02836A08BC2703834C57A6EA9CD900CC /* WebSocketServer.swift */; }; + EAEA2DA5EB9BEC82474ADDEF2595119E /* FayeClient+Subscriptions.swift in Sources */ = {isa = PBXBuildFile; fileRef = D34D8024B10C3F83EDCEF25D8F85B0AB /* FayeClient+Subscriptions.swift */; }; + EC1A78BDEFB0746B58A03929039A22DA /* FoundationHTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4566B1E635A9AC2080E7B264F5E9DBFC /* FoundationHTTPHandler.swift */; }; + F000BBEF6E0EAA1C58CD157003030497 /* FoundationSecurity.swift in Sources */ = {isa = PBXBuildFile; fileRef = 34F81A2BC80C48F071AF52010E8A0ABE /* FoundationSecurity.swift */; }; + F386CB7AD9FE43FE75F19B84E69B2C3F /* HTTPHandler.swift in Sources */ = {isa = PBXBuildFile; fileRef = 61F3729F21AAE38EEB3F59EE1EA24DCA /* HTTPHandler.swift */; }; + F93433CB404502EAD9D02592A76F26C2 /* Security.swift in Sources */ = {isa = PBXBuildFile; fileRef = E2735F9BC0C5EE710F0FEB44E3511FE8 /* Security.swift */; }; + FBAE6EAE5BAE3504F0ADA0932176ECB9 /* FayeClient+Bayuex.swift in Sources */ = {isa = PBXBuildFile; fileRef = FA844D644FE81F2CBF57620FD70E9DC0 /* FayeClient+Bayuex.swift */; }; + FC1EDDEB048757B367BBDC4D82ECA408 /* WebsocketTransport.swift in Sources */ = {isa = PBXBuildFile; fileRef = C84486F09D0372EA4EB43FB741A6B177 /* WebsocketTransport.swift */; }; + FF4AB4E97F669DE6874684B3964E0F3C /* FayeSwift-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 25D5D3962EE6A70E26DB6EACFD24017A /* FayeSwift-dummy.m */; }; /* End PBXBuildFile section */ /* Begin PBXContainerItemProxy section */ - 1421504D71EC0462FF0F6C4BEA7A0E1A /* PBXContainerItemProxy */ = { + 2775B3BFD89D2BD3E8C8F5EC2FC6E606 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - 1FAF7891B919F509D3138ED028A6BD86 /* PBXContainerItemProxy */ = { + 6F1058A8B60352EF523473FC4637C180 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; - remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; - remoteInfo = SwiftyJSON; + remoteGlobalIDString = 5E551DD8B190AB276724C510971C365C; + remoteInfo = FayeSwift; }; - 3402497841F54385E8BD13DF35C92B60 /* PBXContainerItemProxy */ = { + 7C8192EF2F05D91E3A42F22B15B2717A /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - 4FDADCE46294D8AFCFF8EE03B8B981FB /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; - remoteInfo = SwiftyJSON; - }; - 5EE3800B516F9A10F65BF1EE1D7E10F8 /* PBXContainerItemProxy */ = { + CC77485CCDFF17D37F20593A8AAEE8E1 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; remoteGlobalIDString = 9B78EE4AF6AE03E79D88886319853FF7; remoteInfo = Starscream; }; - E95DA7A58C5A5BC45C3E3EAF38E4C7FE /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = D118A6A04828FD3CDA8640CD2B6796D2; - remoteInfo = SwiftyJSON; - }; - ECA15882AE9508D7355A32ED35005A38 /* PBXContainerItemProxy */ = { - isa = PBXContainerItemProxy; - containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; - proxyType = 1; - remoteGlobalIDString = 5E551DD8B190AB276724C510971C365C; - remoteInfo = FayeSwift; - }; - FC8E37B47A0BE401399B207B9C53A0DF /* PBXContainerItemProxy */ = { + F7EA3396C573BC562B28BC4ADDC208F6 /* PBXContainerItemProxy */ = { isa = PBXContainerItemProxy; containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */; proxyType = 1; @@ -119,188 +93,184 @@ /* End PBXContainerItemProxy section */ /* Begin PBXFileReference section */ - 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FayeSwift.xcconfig; sourceTree = ""; }; - 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Helper.swift"; path = "Sources/FayeClient+Helper.swift"; sourceTree = ""; }; - 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Action.swift"; path = "Sources/FayeClient+Action.swift"; sourceTree = ""; }; - 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationTransport.swift; path = Sources/Transport/FoundationTransport.swift; sourceTree = ""; }; - 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FayeSwift_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; - 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPServerHandler.swift; path = Sources/Framer/FoundationHTTPServerHandler.swift; sourceTree = ""; }; - 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Security.swift; path = Sources/Security/Security.swift; sourceTree = ""; }; - 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPHandler.swift; path = Sources/Framer/FoundationHTTPHandler.swift; sourceTree = ""; }; - 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; path = FayeSwift.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 3C4DB29DDFF56CBEA832B464F25EBF18 /* SwiftyJSON-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "SwiftyJSON-Info.plist"; sourceTree = ""; }; - 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Transport.swift"; path = "Sources/FayeClient+Transport.swift"; sourceTree = ""; }; - 4239408D88CF436217DE67140C09B171 /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport.swift; sourceTree = ""; }; - 4332EFEC58B0E82FBA4FFBF1D8CD44A6 /* FayeSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FayeSwift.modulemap; sourceTree = ""; }; - 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport/Transport.swift; sourceTree = ""; }; - 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeEngine.swift; path = Sources/Engine/NativeEngine.swift; sourceTree = ""; }; - 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClientDelegate.swift; path = Sources/FayeClientDelegate.swift; sourceTree = ""; }; - 4ACEB46250C0224BA1C71DD8289E5BA1 /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; - 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationSecurity.swift; path = Sources/Security/FoundationSecurity.swift; sourceTree = ""; }; + 02836A08BC2703834C57A6EA9CD900CC /* WebSocketServer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketServer.swift; path = Sources/Server/WebSocketServer.swift; sourceTree = ""; }; + 04F2F3AD59FADDCA9533C204CFDF5867 /* FoundationHTTPServerHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPServerHandler.swift; path = Sources/Framer/FoundationHTTPServerHandler.swift; sourceTree = ""; }; + 0912441B3D68024A988E3646C03B9C3C /* WSCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSCompression.swift; path = Sources/Compression/WSCompression.swift; sourceTree = ""; }; + 10AC67941C2C7C7F27D9DA8B3004B74E /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; + 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Example.framework; path = "Pods-FayeSwift_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 1C6323085F674B9644697ADA3CC79ABD /* FayeSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FayeSwift-Info.plist"; sourceTree = ""; }; + 22680B5A2B7A2EFD73302D95C85E8833 /* TCPTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TCPTransport.swift; path = Sources/Transport/TCPTransport.swift; sourceTree = ""; }; + 25D5D3962EE6A70E26DB6EACFD24017A /* FayeSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FayeSwift-dummy.m"; sourceTree = ""; }; + 2E51930C99B40B3CDCAE9033D4542611 /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; + 2EB69BC9BBF2B384084E0A128B4ED7BA /* FayeClient+Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Parsing.swift"; path = "Sources/FayeClient+Parsing.swift"; sourceTree = ""; }; + 3319CBE6BF16B5B2366BDE834B663B5E /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 34F81A2BC80C48F071AF52010E8A0ABE /* FoundationSecurity.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationSecurity.swift; path = Sources/Security/FoundationSecurity.swift; sourceTree = ""; }; + 43DC7B0C07F699CCD23DCB53B28E7E83 /* Readme.md */ = {isa = PBXFileReference; includeInIndex = 1; path = Readme.md; sourceTree = ""; }; + 4566B1E635A9AC2080E7B264F5E9DBFC /* FoundationHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationHTTPHandler.swift; path = Sources/Framer/FoundationHTTPHandler.swift; sourceTree = ""; }; 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.release.xcconfig"; sourceTree = ""; }; - 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebsocketTransport.swift; path = Sources/WebsocketTransport.swift; sourceTree = ""; }; 5408A92C70DD1D719AD288C51BA3EDE7 /* Pods-FayeSwift_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Tests-umbrella.h"; sourceTree = ""; }; - 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Subscriptions.swift"; path = "Sources/FayeClient+Subscriptions.swift"; sourceTree = ""; }; - 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = SwiftyJSON.swift; path = Source/SwiftyJSON/SwiftyJSON.swift; sourceTree = ""; }; + 5506D7C7E94836DA1634D95E0E9A2123 /* FrameCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FrameCollector.swift; path = Sources/Framer/FrameCollector.swift; sourceTree = ""; }; 5E6CC62AB0D140277E579CE5E18F1508 /* Pods-FayeSwift_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Example-frameworks.sh"; sourceTree = ""; }; 5F7F3D733E01300A4E277E94D7A39D09 /* Pods-FayeSwift_Tests-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-FayeSwift_Tests-frameworks.sh"; sourceTree = ""; }; - 61A186D3CE6BBEC53C9E22FA3FD7E19D /* SwiftyJSON-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-prefix.pch"; sourceTree = ""; }; - 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + 60BE70F6A7CDA17431FDDC70D47EE478 /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; + 61F3729F21AAE38EEB3F59EE1EA24DCA /* HTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHandler.swift; path = Sources/Framer/HTTPHandler.swift; sourceTree = ""; }; + 6288E7ED2202C227D9C958C0FB9ED2DA /* FayeClient+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Helper.swift"; path = "Sources/FayeClient+Helper.swift"; sourceTree = ""; }; + 650D755CE10E84D017B0C835DAD24E8C /* FayeClient+Action.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Action.swift"; path = "Sources/FayeClient+Action.swift"; sourceTree = ""; }; + 6C8F4E9608DB652CEC72BFDD58678857 /* FayeSwift.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = FayeSwift.podspec; sourceTree = ""; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; 6E810AE5C04F854E8DFC92ACC290FA50 /* Pods-FayeSwift_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Example-acknowledgements.markdown"; sourceTree = ""; }; - 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Parsing.swift"; path = "Sources/FayeClient+Parsing.swift"; sourceTree = ""; }; 702ED4E00C35B47376D617A4E4BF3CE9 /* Pods-FayeSwift_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Example-dummy.m"; sourceTree = ""; }; - 71526644235E827D44173B4DA305C392 /* Readme.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; path = Readme.md; sourceTree = ""; }; + 73FEC6A7A0CAD1E0E51A64E7AAB383E1 /* FoundationTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FoundationTransport.swift; path = Sources/Transport/FoundationTransport.swift; sourceTree = ""; }; 74CF4E2A192377428C5F06ECC9E8FA6C /* Pods-FayeSwift_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-FayeSwift_Tests-dummy.m"; sourceTree = ""; }; - 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = SwiftyJSON.xcconfig; sourceTree = ""; }; - 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClient.swift; path = Sources/FayeClient.swift; sourceTree = ""; }; 7DAD9B664EF4965431CCE924B1A86027 /* Pods-FayeSwift_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-acknowledgements.plist"; sourceTree = ""; }; 7DCFC525E0C4FB7B05B9DD90891FD2E9 /* Pods-FayeSwift_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-FayeSwift_Tests-acknowledgements.markdown"; sourceTree = ""; }; - 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; - 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_FayeSwift_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Bayuex.swift"; path = "Sources/FayeClient+Bayuex.swift"; sourceTree = ""; }; - 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FrameCollector.swift; path = Sources/Framer/FrameCollector.swift; sourceTree = ""; }; - 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "FayeSwift-dummy.m"; sourceTree = ""; }; - 914513F39CD8B4AE7093613132643ABC /* FayeSwift-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "FayeSwift-Info.plist"; sourceTree = ""; }; - 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSEngine.swift; path = Sources/Engine/WSEngine.swift; sourceTree = ""; }; + 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_FayeSwift_Tests.framework; path = "Pods-FayeSwift_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; }; + 818B50B64E2C3E09C96ABBA95CA3D0C5 /* FayeSubscriptionModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeSubscriptionModel.swift; path = Sources/FayeSubscriptionModel.swift; sourceTree = ""; }; + 87AFDC947B6A78483A044B13CD643692 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/DataBytes/Data+Extensions.swift"; sourceTree = ""; }; + 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Starscream.framework; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Tests.debug.xcconfig"; sourceTree = ""; }; - 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = TCPTransport.swift; path = Sources/Transport/TCPTransport.swift; sourceTree = ""; }; - 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Compression/Compression.swift; sourceTree = ""; }; - 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = HTTPHandler.swift; path = Sources/Framer/HTTPHandler.swift; sourceTree = ""; }; - 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-umbrella.h"; sourceTree = ""; }; - 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; - 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; + 94BBC1492D6764F1510A111F3BBAB68D /* FayeClient.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClient.swift; path = Sources/FayeClient.swift; sourceTree = ""; }; + 9A341DC23209CF90D5CF851634FF9500 /* FayeSwift.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = FayeSwift.modulemap; sourceTree = ""; }; + 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = FayeSwift.framework; path = FayeSwift.framework; sourceTree = BUILT_PRODUCTS_DIR; }; + 9D86F52B90B39CFACAE37DB765E30F4F /* Compression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Compression.swift; path = Sources/Compression/Compression.swift; sourceTree = ""; }; + 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; name = Podfile; path = ../Podfile; sourceTree = SOURCE_ROOT; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; }; + A07C34E68D9E43E3211E1DE86B1637BA /* FayeClient+Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Transport.swift"; path = "Sources/FayeClient+Transport.swift"; sourceTree = ""; }; A334613D59552A1553E912C4E2814646 /* Pods-FayeSwift_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Tests-Info.plist"; sourceTree = ""; }; A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.debug.xcconfig"; sourceTree = ""; }; A7619E8DC7E2EDC39E19C3D22F298A83 /* Pods-FayeSwift_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-acknowledgements.plist"; sourceTree = ""; }; - ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Starscream.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - ACC1C7B10209A713905FE58E50BFF4F6 /* Starscream.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = Starscream.modulemap; sourceTree = ""; }; - B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeSubscriptionModel.swift; path = Sources/FayeSubscriptionModel.swift; sourceTree = ""; }; + A85EB7AD70AF154A65E123A6E977FB4F /* FayeClientDelegate.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = FayeClientDelegate.swift; path = Sources/FayeClientDelegate.swift; sourceTree = ""; }; + AA7F574240E86655E9765CAB61B9A812 /* FayeSwift-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-prefix.pch"; sourceTree = ""; }; + AAE24906F50C62DF73861EB94878B3E1 /* Engine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Engine.swift; path = Sources/Engine/Engine.swift; sourceTree = ""; }; + ACEC12C1CB4357C633347ECB15BFB3B5 /* Server.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Server.swift; path = Sources/Server/Server.swift; sourceTree = ""; }; + AE81896D8E7307758095002E7E26C05C /* Starscream-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-prefix.pch"; sourceTree = ""; }; B0D1A2F55D87666017D56F16D5671E34 /* Pods-FayeSwift_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-FayeSwift_Example-umbrella.h"; sourceTree = ""; }; + B469C9443C7A8332A92D93ECC1994F06 /* Framer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Framer.swift; path = Sources/Framer/Framer.swift; sourceTree = ""; }; B46A5A95935228E00C289D459B6A52CB /* Pods-FayeSwift_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FayeSwift_Tests.modulemap"; sourceTree = ""; }; - B647A46F2B10AA8E07E8E3E7501A8832 /* License */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = License; sourceTree = ""; }; + B5DF3ABE2E76234D0C9781F83F10D164 /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; + BAD32D443481EFA337DBC60C51702A5D /* License */ = {isa = PBXFileReference; includeInIndex = 1; path = License; sourceTree = ""; }; BEC86F6E4914D08D02F45B8563B29D66 /* Pods-FayeSwift_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-FayeSwift_Example-Info.plist"; sourceTree = ""; }; - BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Framer.swift; path = Sources/Framer/Framer.swift; sourceTree = ""; }; - C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Starscream-dummy.m"; sourceTree = ""; }; - C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Engine.swift; path = Sources/Engine/Engine.swift; sourceTree = ""; }; + C84486F09D0372EA4EB43FB741A6B177 /* WebsocketTransport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebsocketTransport.swift; path = Sources/WebsocketTransport.swift; sourceTree = ""; }; + CB589DE2B64A840E0ECC99F8272D61F5 /* WSEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSEngine.swift; path = Sources/Engine/WSEngine.swift; sourceTree = ""; }; CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-FayeSwift_Example.release.xcconfig"; sourceTree = ""; }; - D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocketServer.swift; path = Sources/Server/WebSocketServer.swift; sourceTree = ""; }; - D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WSCompression.swift; path = Sources/Compression/WSCompression.swift; sourceTree = ""; }; - E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Server.swift; path = Sources/Server/Server.swift; sourceTree = ""; }; - E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = SwiftyJSON.framework; sourceTree = BUILT_PRODUCTS_DIR; }; - E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "SwiftyJSON-umbrella.h"; sourceTree = ""; }; - E65418FB140C77BE75B9A283CA15DCE7 /* Starscream-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Starscream-Info.plist"; sourceTree = ""; }; - E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "SwiftyJSON-dummy.m"; sourceTree = ""; }; - EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = Starscream.xcconfig; sourceTree = ""; }; - F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "Data+Extensions.swift"; path = "Sources/DataBytes/Data+Extensions.swift"; sourceTree = ""; }; - F27B991812255571739E16170D9D9096 /* SwiftyJSON.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = SwiftyJSON.modulemap; sourceTree = ""; }; - F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringHTTPHandler.swift; path = Sources/Framer/StringHTTPHandler.swift; sourceTree = ""; }; - FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSError+Helper.swift"; path = "Sources/NSError+Helper.swift"; sourceTree = ""; }; + CEC20F6EF8AB486CB20AD946CBA6855F /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport/Transport.swift; sourceTree = ""; }; + CF1D16B5F6734884D1A2AA0A95510960 /* FayeSwift-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "FayeSwift-umbrella.h"; sourceTree = ""; }; + D19B7EC27FA15B2300013D7A82983442 /* Starscream-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Starscream-umbrella.h"; sourceTree = ""; }; + D34D8024B10C3F83EDCEF25D8F85B0AB /* FayeClient+Subscriptions.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Subscriptions.swift"; path = "Sources/FayeClient+Subscriptions.swift"; sourceTree = ""; }; + D3C1CE0D417884E7034373A7E8F70AEE /* StringHTTPHandler.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = StringHTTPHandler.swift; path = Sources/Framer/StringHTTPHandler.swift; sourceTree = ""; }; + DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = Foundation.framework; path = Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS12.2.sdk/System/Library/Frameworks/Foundation.framework; sourceTree = DEVELOPER_DIR; }; + E2735F9BC0C5EE710F0FEB44E3511FE8 /* Security.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Security.swift; path = Sources/Security/Security.swift; sourceTree = ""; }; + E6C718EF9BA76CE1CD7230F4AC227FB4 /* NativeEngine.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = NativeEngine.swift; path = Sources/Engine/NativeEngine.swift; sourceTree = ""; }; + F12667FFFCB6455C3AC68BD65809B063 /* WebSocket.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = WebSocket.swift; path = Sources/Starscream/WebSocket.swift; sourceTree = ""; }; + F3B3095DAD917854C0A3E374EA5BE89F /* NSError+Helper.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "NSError+Helper.swift"; path = "Sources/NSError+Helper.swift"; sourceTree = ""; }; + F97F6DC319A077725FE3D3805D810EE3 /* Transport.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Transport.swift; path = Sources/Transport.swift; sourceTree = ""; }; + FA844D644FE81F2CBF57620FD70E9DC0 /* FayeClient+Bayuex.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = "FayeClient+Bayuex.swift"; path = "Sources/FayeClient+Bayuex.swift"; sourceTree = ""; }; + FB3947B8055ACC7D7C6AAF0280B8DD6F /* FayeSwift.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = FayeSwift.xcconfig; sourceTree = ""; }; FE0C7154FB2910C429E0C8C92035FE9F /* Pods-FayeSwift_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-FayeSwift_Example.modulemap"; sourceTree = ""; }; /* End PBXFileReference section */ /* Begin PBXFrameworksBuildPhase section */ - 6E51509313B97489D45CA53879AE83B6 /* Frameworks */ = { + 0D6F0896AB86FF0FDC7C3A39AEEC79D3 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 97DA4510146BCEF10BD53BD5CC1459CA /* Foundation.framework in Frameworks */, + 55E5C4F8E92D2874B86296CCF24D5CA6 /* Foundation.framework in Frameworks */, + E0738107A218CC695CD03194FE7CD79F /* Starscream.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - 78D91398C910DDF469A29167087A5939 /* Frameworks */ = { + 247880AD6A3E62A727063EA7E65AAE56 /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 65101ADC15F4CCE85719A1A6E438A35F /* Foundation.framework in Frameworks */, - DD19B0C6316FB9E71A9CF15665A2D2D9 /* Starscream.framework in Frameworks */, - 74AD214F3F2B356268F80DD79EF54C6C /* SwiftyJSON.framework in Frameworks */, + 40D091CB32422C4223C2D860BF09AB75 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - B07D86D2D0DF9A5C12E7433AB7E53B4C /* Frameworks */ = { + 537D3D1CF889546CC7E4EE8B054CE85B /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 4F3FFB2EBD058878FCE7BECC5CB31523 /* Foundation.framework in Frameworks */, + A8C35B96DD9A45E079F633C82A88F7A0 /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; - C60B5F74066F4476ED3CF495EE1A8649 /* Frameworks */ = { + E930A1421EDD62A9EFFE3F3DDD4EF76D /* Frameworks */ = { isa = PBXFrameworksBuildPhase; buildActionMask = 2147483647; files = ( - 88B54AC18FE3E221B13D26B428D189B9 /* Foundation.framework in Frameworks */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - F8B35DEC1CEE6B460BDFE60770E928AB /* Frameworks */ = { - isa = PBXFrameworksBuildPhase; - buildActionMask = 2147483647; - files = ( - 7D2A8514AF1C3A71622C4FE05D18E0A6 /* Foundation.framework in Frameworks */, + E8463FBD16B018470C5254943B1A9E5D /* Foundation.framework in Frameworks */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXFrameworksBuildPhase section */ /* Begin PBXGroup section */ - 0BF2AF36AF7EDC51BA144CC111EDB658 /* FayeSwift */ = { + 00B2FEDCAC8A8BACE0F9A4E951E14F8C /* Pods */ = { isa = PBXGroup; children = ( - 7BFCD2001216A446370F22004C8B04F6 /* FayeClient.swift */, - 0CE6FA5482976941A66FC4AFA9500F62 /* FayeClient+Action.swift */, - 8085E6D289A0BC51A9B3BCBDB249E5FB /* FayeClient+Bayuex.swift */, - 069177BE7826C9136A198CC69773FD40 /* FayeClient+Helper.swift */, - 6FD52700FD56692EECED74AF62C80105 /* FayeClient+Parsing.swift */, - 566A7570853E6C4829C983097F00E0FC /* FayeClient+Subscriptions.swift */, - 40F3A1B0223B0F48607E8F114F99B78C /* FayeClient+Transport.swift */, - 4774D40300A83D28AF7A51F2EDE29F03 /* FayeClientDelegate.swift */, - B08378535C2930A252AEEFDBFA39B511 /* FayeSubscriptionModel.swift */, - FC12CA60D73C4047FA83C85996DDB5FA /* NSError+Helper.swift */, - 4239408D88CF436217DE67140C09B171 /* Transport.swift */, - 5367C70F66CFB6BB4E79FBF49B27B57F /* WebsocketTransport.swift */, - 40047F383137CF9AC56349BEA6616949 /* Pod */, - FC2A4AE8D292AB9D5BA8BF8CD5B00B93 /* Support Files */, + 4E34C1BAF25156718E120C2384479377 /* Starscream */, ); - name = FayeSwift; - path = ../..; + name = Pods; sourceTree = ""; }; - 30766D3E84E4F5B5C2B022D75830F833 /* SwiftyJSON */ = { + 07D5512657F444425F035791D322E15F /* Pod */ = { isa = PBXGroup; children = ( - 5B16C9ED6E7FCC8D4050702D608260E2 /* SwiftyJSON.swift */, - 68AB257207B5C4A2FCF34E7C13E6A678 /* Support Files */, + 6C8F4E9608DB652CEC72BFDD58678857 /* FayeSwift.podspec */, + BAD32D443481EFA337DBC60C51702A5D /* License */, + 43DC7B0C07F699CCD23DCB53B28E7E83 /* Readme.md */, ); - path = SwiftyJSON; + name = Pod; sourceTree = ""; }; - 40047F383137CF9AC56349BEA6616949 /* Pod */ = { + 21A72EAA804A88B5CBA2739226038F7C /* FayeSwift */ = { isa = PBXGroup; children = ( - 3AEF750F8F7E21E3076A277B4255C6ED /* FayeSwift.podspec */, - B647A46F2B10AA8E07E8E3E7501A8832 /* License */, - 71526644235E827D44173B4DA305C392 /* Readme.md */, + 94BBC1492D6764F1510A111F3BBAB68D /* FayeClient.swift */, + 650D755CE10E84D017B0C835DAD24E8C /* FayeClient+Action.swift */, + FA844D644FE81F2CBF57620FD70E9DC0 /* FayeClient+Bayuex.swift */, + 6288E7ED2202C227D9C958C0FB9ED2DA /* FayeClient+Helper.swift */, + 2EB69BC9BBF2B384084E0A128B4ED7BA /* FayeClient+Parsing.swift */, + D34D8024B10C3F83EDCEF25D8F85B0AB /* FayeClient+Subscriptions.swift */, + A07C34E68D9E43E3211E1DE86B1637BA /* FayeClient+Transport.swift */, + A85EB7AD70AF154A65E123A6E977FB4F /* FayeClientDelegate.swift */, + 818B50B64E2C3E09C96ABBA95CA3D0C5 /* FayeSubscriptionModel.swift */, + F3B3095DAD917854C0A3E374EA5BE89F /* NSError+Helper.swift */, + F97F6DC319A077725FE3D3805D810EE3 /* Transport.swift */, + C84486F09D0372EA4EB43FB741A6B177 /* WebsocketTransport.swift */, + 07D5512657F444425F035791D322E15F /* Pod */, + 801AE421FA24885699B873E1943AA03F /* Support Files */, ); - name = Pod; + name = FayeSwift; + path = ../..; sourceTree = ""; }; - 654C335B770E0E274747D663493D3A57 /* Support Files */ = { + 4E34C1BAF25156718E120C2384479377 /* Starscream */ = { isa = PBXGroup; children = ( - ACC1C7B10209A713905FE58E50BFF4F6 /* Starscream.modulemap */, - EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */, - C3A5B43DCA63F646C72A40997AE2185A /* Starscream-dummy.m */, - E65418FB140C77BE75B9A283CA15DCE7 /* Starscream-Info.plist */, - 4ACEB46250C0224BA1C71DD8289E5BA1 /* Starscream-prefix.pch */, - 7EC6BAA2521124F6C3438AC3490FF0F6 /* Starscream-umbrella.h */, + 9D86F52B90B39CFACAE37DB765E30F4F /* Compression.swift */, + 87AFDC947B6A78483A044B13CD643692 /* Data+Extensions.swift */, + AAE24906F50C62DF73861EB94878B3E1 /* Engine.swift */, + 4566B1E635A9AC2080E7B264F5E9DBFC /* FoundationHTTPHandler.swift */, + 04F2F3AD59FADDCA9533C204CFDF5867 /* FoundationHTTPServerHandler.swift */, + 34F81A2BC80C48F071AF52010E8A0ABE /* FoundationSecurity.swift */, + 73FEC6A7A0CAD1E0E51A64E7AAB383E1 /* FoundationTransport.swift */, + 5506D7C7E94836DA1634D95E0E9A2123 /* FrameCollector.swift */, + B469C9443C7A8332A92D93ECC1994F06 /* Framer.swift */, + 61F3729F21AAE38EEB3F59EE1EA24DCA /* HTTPHandler.swift */, + E6C718EF9BA76CE1CD7230F4AC227FB4 /* NativeEngine.swift */, + E2735F9BC0C5EE710F0FEB44E3511FE8 /* Security.swift */, + ACEC12C1CB4357C633347ECB15BFB3B5 /* Server.swift */, + D3C1CE0D417884E7034373A7E8F70AEE /* StringHTTPHandler.swift */, + 22680B5A2B7A2EFD73302D95C85E8833 /* TCPTransport.swift */, + CEC20F6EF8AB486CB20AD946CBA6855F /* Transport.swift */, + F12667FFFCB6455C3AC68BD65809B063 /* WebSocket.swift */, + 02836A08BC2703834C57A6EA9CD900CC /* WebSocketServer.swift */, + 0912441B3D68024A988E3646C03B9C3C /* WSCompression.swift */, + CB589DE2B64A840E0ECC99F8272D61F5 /* WSEngine.swift */, + E6370DF0107D49FCA4E8B471A7B0E4BB /* Support Files */, ); - name = "Support Files"; - path = "../Target Support Files/Starscream"; + name = Starscream; + path = Starscream; sourceTree = ""; }; 6563A60F5A5BF11CB0170B4878038DFF /* Pods-FayeSwift_Example */ = { @@ -320,18 +290,26 @@ path = "Target Support Files/Pods-FayeSwift_Example"; sourceTree = ""; }; - 68AB257207B5C4A2FCF34E7C13E6A678 /* Support Files */ = { + 738B7549EF52C82B3FD13C533D4241EC /* Development Pods */ = { + isa = PBXGroup; + children = ( + 21A72EAA804A88B5CBA2739226038F7C /* FayeSwift */, + ); + name = "Development Pods"; + sourceTree = ""; + }; + 801AE421FA24885699B873E1943AA03F /* Support Files */ = { isa = PBXGroup; children = ( - F27B991812255571739E16170D9D9096 /* SwiftyJSON.modulemap */, - 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */, - E71E4634080D7347CEE1F8B45E5726F5 /* SwiftyJSON-dummy.m */, - 3C4DB29DDFF56CBEA832B464F25EBF18 /* SwiftyJSON-Info.plist */, - 61A186D3CE6BBEC53C9E22FA3FD7E19D /* SwiftyJSON-prefix.pch */, - E2A1A11E7E2791CA11238F8D5DAE8CF9 /* SwiftyJSON-umbrella.h */, + 9A341DC23209CF90D5CF851634FF9500 /* FayeSwift.modulemap */, + FB3947B8055ACC7D7C6AAF0280B8DD6F /* FayeSwift.xcconfig */, + 25D5D3962EE6A70E26DB6EACFD24017A /* FayeSwift-dummy.m */, + 1C6323085F674B9644697ADA3CC79ABD /* FayeSwift-Info.plist */, + AA7F574240E86655E9765CAB61B9A812 /* FayeSwift-prefix.pch */, + CF1D16B5F6734884D1A2AA0A95510960 /* FayeSwift-umbrella.h */, ); name = "Support Files"; - path = "../Target Support Files/SwiftyJSON"; + path = "Example/Pods/Target Support Files/FayeSwift"; sourceTree = ""; }; 85422BCB99D41B108592CBC36D07C319 /* Pods-FayeSwift_Tests */ = { @@ -351,14 +329,6 @@ path = "Target Support Files/Pods-FayeSwift_Tests"; sourceTree = ""; }; - A3762543793836511D559E05A4FF4E9F /* Development Pods */ = { - isa = PBXGroup; - children = ( - 0BF2AF36AF7EDC51BA144CC111EDB658 /* FayeSwift */, - ); - name = "Development Pods"; - sourceTree = ""; - }; AADEC59BC2C46A2EB4239F071A12322F /* Targets Support Files */ = { isa = PBXGroup; children = ( @@ -368,139 +338,92 @@ name = "Targets Support Files"; sourceTree = ""; }; - B790EF8E7CC4CAAC5C6FE7555D513C65 /* Starscream */ = { - isa = PBXGroup; - children = ( - 95C37037450A0EE0FE805222E3D06860 /* Compression.swift */, - F089C81661E3F832DA85D9A4C24F37E7 /* Data+Extensions.swift */, - CA1EB2C369F945AADA040808B80FC1D5 /* Engine.swift */, - 295461D7A108B8E011D0B1D178C1C40C /* FoundationHTTPHandler.swift */, - 2284F917EDE4B4457277DD95423DF758 /* FoundationHTTPServerHandler.swift */, - 4AF28D7727DECA3DF165670D85218455 /* FoundationSecurity.swift */, - 0D63390A10E9F170D263AF3988B24124 /* FoundationTransport.swift */, - 8A3F370C91A8918B8939E859D36DEDE0 /* FrameCollector.swift */, - BFE3BADB9F72A00BC29B511C3B31D7ED /* Framer.swift */, - 96645BE7968203D79E751E637A08977F /* HTTPHandler.swift */, - 452981AACA89768F38D52BB70DD1B039 /* NativeEngine.swift */, - 25DDF7F939EF2E868A4339802A4E74E8 /* Security.swift */, - E0B3F16BB5051B23600F71BEEF64D3C2 /* Server.swift */, - F97B9A815FED0F98082C88F39C2DCC16 /* StringHTTPHandler.swift */, - 95193F6C731DF4303C720E68223AEBF4 /* TCPTransport.swift */, - 43DDE165ACA21A32D774483DB2F479AB /* Transport.swift */, - 9F61B7552579C7E6B4CE4D3586ADC56C /* WebSocket.swift */, - D453DF1230F5C8CAD026CFC66D7DB03D /* WebSocketServer.swift */, - D6866B4BC5E8089A90860474310D09EB /* WSCompression.swift */, - 9291D7459E9475773F86717440A1B570 /* WSEngine.swift */, - 654C335B770E0E274747D663493D3A57 /* Support Files */, - ); - path = Starscream; - sourceTree = ""; - }; - CB1BBFCAB1161547233ABDD1062A1F53 /* Products */ = { + CD272A03C5BA2A49B245F2735E358B7D /* Frameworks */ = { isa = PBXGroup; children = ( - 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */, - 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */, - 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */, - 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */, - E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */, + 3319CBE6BF16B5B2366BDE834B663B5E /* Starscream.framework */, + DB2C61061EC170240411C29EF6DD7C9D /* iOS */, ); - name = Products; + name = Frameworks; sourceTree = ""; }; CF1408CF629C7361332E53B88F7BD30C = { isa = PBXGroup; children = ( 9D940727FF8FB9C785EB98E56350EF41 /* Podfile */, - A3762543793836511D559E05A4FF4E9F /* Development Pods */, - E3E72319A78626B3AF9B593F1E512E66 /* Frameworks */, - EAC52A2681AD500197BE49D61C92AC0D /* Pods */, - CB1BBFCAB1161547233ABDD1062A1F53 /* Products */, + 738B7549EF52C82B3FD13C533D4241EC /* Development Pods */, + CD272A03C5BA2A49B245F2735E358B7D /* Frameworks */, + 00B2FEDCAC8A8BACE0F9A4E951E14F8C /* Pods */, + FBDA564B9FEB2D82399786B03A9C8580 /* Products */, AADEC59BC2C46A2EB4239F071A12322F /* Targets Support Files */, ); sourceTree = ""; }; - E361081A39C3319842F67AE805995D4E /* iOS */ = { + DB2C61061EC170240411C29EF6DD7C9D /* iOS */ = { isa = PBXGroup; children = ( - 66EA249AA70B465C88C66219B7321C29 /* Foundation.framework */, + DBB895F616DD1C4C7C1587261E4EBE5D /* Foundation.framework */, ); name = iOS; sourceTree = ""; }; - E3E72319A78626B3AF9B593F1E512E66 /* Frameworks */ = { + E6370DF0107D49FCA4E8B471A7B0E4BB /* Support Files */ = { isa = PBXGroup; children = ( - ABDA9325CBAA97E4B84F8490D5ECA6C8 /* Starscream.framework */, - C711AEE2DA04D0B11F5F008AD6A452CD /* SwiftyJSON.framework */, - E361081A39C3319842F67AE805995D4E /* iOS */, + 10AC67941C2C7C7F27D9DA8B3004B74E /* Starscream.modulemap */, + 60BE70F6A7CDA17431FDDC70D47EE478 /* Starscream.xcconfig */, + 2E51930C99B40B3CDCAE9033D4542611 /* Starscream-dummy.m */, + B5DF3ABE2E76234D0C9781F83F10D164 /* Starscream-Info.plist */, + AE81896D8E7307758095002E7E26C05C /* Starscream-prefix.pch */, + D19B7EC27FA15B2300013D7A82983442 /* Starscream-umbrella.h */, ); - name = Frameworks; - sourceTree = ""; - }; - EAC52A2681AD500197BE49D61C92AC0D /* Pods */ = { - isa = PBXGroup; - children = ( - B790EF8E7CC4CAAC5C6FE7555D513C65 /* Starscream */, - 30766D3E84E4F5B5C2B022D75830F833 /* SwiftyJSON */, - ); - name = Pods; + name = "Support Files"; + path = "../Target Support Files/Starscream"; sourceTree = ""; }; - FC2A4AE8D292AB9D5BA8BF8CD5B00B93 /* Support Files */ = { + FBDA564B9FEB2D82399786B03A9C8580 /* Products */ = { isa = PBXGroup; children = ( - 4332EFEC58B0E82FBA4FFBF1D8CD44A6 /* FayeSwift.modulemap */, - 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */, - 8B9DF075CA123A3D24B0E5ECB58DB651 /* FayeSwift-dummy.m */, - 914513F39CD8B4AE7093613132643ABC /* FayeSwift-Info.plist */, - 1549E6DACFD1AD6DFA697BF29A35B3A4 /* FayeSwift-prefix.pch */, - 97AE7933EE429B53986BE66276747A7D /* FayeSwift-umbrella.h */, + 9CDA2A0B34EDB5063A8EBF3868D88867 /* FayeSwift.framework */, + 13F871721477871167420E510E6E3742 /* Pods_FayeSwift_Example.framework */, + 803B043628E27E9B05B3949999D24303 /* Pods_FayeSwift_Tests.framework */, + 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */, ); - name = "Support Files"; - path = "Example/Pods/Target Support Files/FayeSwift"; + name = Products; sourceTree = ""; }; /* End PBXGroup section */ /* Begin PBXHeadersBuildPhase section */ - 250C2D38CD5700967B320BCE882D223F /* Headers */ = { - isa = PBXHeadersBuildPhase; - buildActionMask = 2147483647; - files = ( - 5B0CD91FE8FAC97D47C421C11DAA0422 /* FayeSwift-umbrella.h in Headers */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6B8DEE41A4E3D722F7A5401A457CB358 /* Headers */ = { + 428074677B7AC963CEAA7ED66F5E1E15 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 99CABBFF5653DCB301C355A857599B58 /* SwiftyJSON-umbrella.h in Headers */, + A94CEE7B00FB102284B14D280DCE8911 /* Pods-FayeSwift_Tests-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - 8958001054F2B2D469FE2AC845996A42 /* Headers */ = { + 534E59A3076AFF0C829B11999E65E8D2 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 85C2B16BF2F5A22ACB57013708514FC2 /* Starscream-umbrella.h in Headers */, + 6AB74EEBB2F512FBC6DA877C7229BF29 /* Pods-FayeSwift_Example-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - B2EC5A947F2079BEC2B28CE4B32FA566 /* Headers */ = { + 878C1E85D09F0B4C31F787D287CB6B03 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 7A01B7C3FFA07FB1B99E7766CD20DFAA /* Pods-FayeSwift_Tests-umbrella.h in Headers */, + 0BE11EC491137918A9DF1EBF7F8DA330 /* FayeSwift-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; - DBDC11BE5E8C3F188EEA96CEA1A00BC6 /* Headers */ = { + ACD08EE71174CB3CBD940A05243B3B75 /* Headers */ = { isa = PBXHeadersBuildPhase; buildActionMask = 2147483647; files = ( - 26D0D7BAFEB2991FF2645D209ADE0BC3 /* Pods-FayeSwift_Example-umbrella.h in Headers */, + 4D17A29457AF97C39E46C715807B8FBB /* Starscream-umbrella.h in Headers */, ); runOnlyForDeploymentPostprocessing = 0; }; @@ -509,19 +432,18 @@ /* Begin PBXNativeTarget section */ 46036F5F450724505F8F5A3535561A93 /* Pods-FayeSwift_Example */ = { isa = PBXNativeTarget; - buildConfigurationList = 92CE793E190A4CB79F9EE04FEEFE16FD /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */; + buildConfigurationList = 36F39271BD362A96942CE4BF703446A3 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */; buildPhases = ( - DBDC11BE5E8C3F188EEA96CEA1A00BC6 /* Headers */, - C30301AEA2DCA5DD2FC607A58E99A0A8 /* Sources */, - F8B35DEC1CEE6B460BDFE60770E928AB /* Frameworks */, - EB8B1DAE4E79045A142597C4E5047C0F /* Resources */, + 534E59A3076AFF0C829B11999E65E8D2 /* Headers */, + 28461B175212164A121A39E409F9C9F2 /* Sources */, + 247880AD6A3E62A727063EA7E65AAE56 /* Frameworks */, + 11E47EC2F0F90BA2EB57031DB815800D /* Resources */, ); buildRules = ( ); dependencies = ( - 7230AEF5B5D5A25A2F7CC7B486B751E1 /* PBXTargetDependency */, - DB9CB4192C3BAEB984EA576B1C796F3E /* PBXTargetDependency */, - 64C5B360762037EC80DB6C7BAAFA3D99 /* PBXTargetDependency */, + 77347A0572CC274E70090A33B430E218 /* PBXTargetDependency */, + C863549D50E8816C5BE357A65FC2DFDC /* PBXTargetDependency */, ); name = "Pods-FayeSwift_Example"; productName = "Pods-FayeSwift_Example"; @@ -530,18 +452,17 @@ }; 5E551DD8B190AB276724C510971C365C /* FayeSwift */ = { isa = PBXNativeTarget; - buildConfigurationList = 401A35C3B8F4524E534F5AF43DF7FD01 /* Build configuration list for PBXNativeTarget "FayeSwift" */; + buildConfigurationList = C9057C70529CDB027B5841A3F869598E /* Build configuration list for PBXNativeTarget "FayeSwift" */; buildPhases = ( - 250C2D38CD5700967B320BCE882D223F /* Headers */, - BB45C3174DC438ECCBB37C1B6E9BF19B /* Sources */, - 78D91398C910DDF469A29167087A5939 /* Frameworks */, - FDDF3494F0A5EA50D141860CB110E52D /* Resources */, + 878C1E85D09F0B4C31F787D287CB6B03 /* Headers */, + 32DFF9A5EF659693ADD631109D7B2526 /* Sources */, + 0D6F0896AB86FF0FDC7C3A39AEEC79D3 /* Frameworks */, + 22E5ED0FA2867D366EC1B49D09985197 /* Resources */, ); buildRules = ( ); dependencies = ( - E260F2A103167C679FC9DB55176D5F4F /* PBXTargetDependency */, - C4DEEE3CB6E159A9250950E7D872046E /* PBXTargetDependency */, + C723C663B511E787B10C5230BBE5ADB6 /* PBXTargetDependency */, ); name = FayeSwift; productName = FayeSwift; @@ -550,12 +471,12 @@ }; 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */ = { isa = PBXNativeTarget; - buildConfigurationList = 42D005F3EC3848C7036D975473A0B599 /* Build configuration list for PBXNativeTarget "Starscream" */; + buildConfigurationList = 661AAB7EF76102E76A33C8EB590798DA /* Build configuration list for PBXNativeTarget "Starscream" */; buildPhases = ( - 8958001054F2B2D469FE2AC845996A42 /* Headers */, - 82F5E749CB23C9695CB98119AFAA9CF7 /* Sources */, - 6E51509313B97489D45CA53879AE83B6 /* Frameworks */, - 1FEAE774856B8E9DA235365984A12325 /* Resources */, + ACD08EE71174CB3CBD940A05243B3B75 /* Headers */, + 900B414EAE8FB78B4C84FE9046A731E2 /* Sources */, + E930A1421EDD62A9EFFE3F3DDD4EF76D /* Frameworks */, + B1E0C3E12C8B4613B8865FE89B05521D /* Resources */, ); buildRules = ( ); @@ -566,39 +487,20 @@ productReference = 891B2270823847ED23F2ECFC28F935EC /* Starscream.framework */; productType = "com.apple.product-type.framework"; }; - D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */ = { - isa = PBXNativeTarget; - buildConfigurationList = F729EFA373196875F38F5325B7B83897 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */; - buildPhases = ( - 6B8DEE41A4E3D722F7A5401A457CB358 /* Headers */, - 6B2AB3B6BD3E620BF898D8A606FDC208 /* Sources */, - C60B5F74066F4476ED3CF495EE1A8649 /* Frameworks */, - BA17E256F0AC109369BE2D434570C704 /* Resources */, - ); - buildRules = ( - ); - dependencies = ( - ); - name = SwiftyJSON; - productName = SwiftyJSON; - productReference = E23C076BA70925415F490FEDB215DA92 /* SwiftyJSON.framework */; - productType = "com.apple.product-type.framework"; - }; D363A9BDF4C1ECA78CDF5B83FC9C13F0 /* Pods-FayeSwift_Tests */ = { isa = PBXNativeTarget; - buildConfigurationList = D837C3410A68BB77EACA27DD71189414 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */; + buildConfigurationList = 19188E0605D4D143004C077EDED27B04 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */; buildPhases = ( - B2EC5A947F2079BEC2B28CE4B32FA566 /* Headers */, - 6B17BBAFCFC87CEFEBBCA0135CE47C82 /* Sources */, - B07D86D2D0DF9A5C12E7433AB7E53B4C /* Frameworks */, - C8CE6D8E64F85F4CD573C4B1B5D1F1D1 /* Resources */, + 428074677B7AC963CEAA7ED66F5E1E15 /* Headers */, + 16592D1C44D688EAC4981CD1EA683729 /* Sources */, + 537D3D1CF889546CC7E4EE8B054CE85B /* Frameworks */, + 4E55E7F372B9DAD1A6F3A064DADBCD48 /* Resources */, ); buildRules = ( ); dependencies = ( - 67EB9351DFE3C2E9DA971B723BA4865D /* PBXTargetDependency */, - B1E8BFCB48DDBD8475AA24CCB92204C4 /* PBXTargetDependency */, - 22E504E28A10C4398709B34D180FA8C9 /* PBXTargetDependency */, + D960B51C6B4703AE26A06BABC22BEDA9 /* PBXTargetDependency */, + BE9746A12C5B179BDD3020B2FBD1CD21 /* PBXTargetDependency */, ); name = "Pods-FayeSwift_Tests"; productName = "Pods-FayeSwift_Tests"; @@ -623,7 +525,7 @@ Base, ); mainGroup = CF1408CF629C7361332E53B88F7BD30C; - productRefGroup = CB1BBFCAB1161547233ABDD1062A1F53 /* Products */; + productRefGroup = FBDA564B9FEB2D82399786B03A9C8580 /* Products */; projectDirPath = ""; projectRoot = ""; targets = ( @@ -631,41 +533,33 @@ 46036F5F450724505F8F5A3535561A93 /* Pods-FayeSwift_Example */, D363A9BDF4C1ECA78CDF5B83FC9C13F0 /* Pods-FayeSwift_Tests */, 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */, - D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */, ); }; /* End PBXProject section */ /* Begin PBXResourcesBuildPhase section */ - 1FEAE774856B8E9DA235365984A12325 /* Resources */ = { - isa = PBXResourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - ); - runOnlyForDeploymentPostprocessing = 0; - }; - BA17E256F0AC109369BE2D434570C704 /* Resources */ = { + 11E47EC2F0F90BA2EB57031DB815800D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - C8CE6D8E64F85F4CD573C4B1B5D1F1D1 /* Resources */ = { + 22E5ED0FA2867D366EC1B49D09985197 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - EB8B1DAE4E79045A142597C4E5047C0F /* Resources */ = { + 4E55E7F372B9DAD1A6F3A064DADBCD48 /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( ); runOnlyForDeploymentPostprocessing = 0; }; - FDDF3494F0A5EA50D141860CB110E52D /* Resources */ = { + B1E0C3E12C8B4613B8865FE89B05521D /* Resources */ = { isa = PBXResourcesBuildPhase; buildActionMask = 2147483647; files = ( @@ -675,136 +569,109 @@ /* End PBXResourcesBuildPhase section */ /* Begin PBXSourcesBuildPhase section */ - 6B17BBAFCFC87CEFEBBCA0135CE47C82 /* Sources */ = { - isa = PBXSourcesBuildPhase; - buildActionMask = 2147483647; - files = ( - 7865C7456AC8DDA986065CB404EBD506 /* Pods-FayeSwift_Tests-dummy.m in Sources */, - ); - runOnlyForDeploymentPostprocessing = 0; - }; - 6B2AB3B6BD3E620BF898D8A606FDC208 /* Sources */ = { + 16592D1C44D688EAC4981CD1EA683729 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 5FB5546CB2F4BAA36E9A2146FB4D75DB /* SwiftyJSON-dummy.m in Sources */, - B471CF5E4D5068291D4CC54CBF89E964 /* SwiftyJSON.swift in Sources */, + 11125B36965E6888DCB67E1D81AFF401 /* Pods-FayeSwift_Tests-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - 82F5E749CB23C9695CB98119AFAA9CF7 /* Sources */ = { + 28461B175212164A121A39E409F9C9F2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 93524EF16C1EA133AD0893B6FF138B30 /* Compression.swift in Sources */, - 371AE48204C97C939981924FBB3E3C70 /* Data+Extensions.swift in Sources */, - F51ECAF8CB23CF31DF912528E378BC81 /* Engine.swift in Sources */, - F8849D114B30E7BD395FE77F7A60CFDB /* FoundationHTTPHandler.swift in Sources */, - 90F965102E8A76F689A8E19C2463FB3B /* FoundationHTTPServerHandler.swift in Sources */, - 74C67375E014FEE93E343794C340DAE4 /* FoundationSecurity.swift in Sources */, - 5DF3DF5AB474D53CAFC036C1CB4B4B66 /* FoundationTransport.swift in Sources */, - 8D64DF55AB5B232EEA58818B56EBE442 /* FrameCollector.swift in Sources */, - 35628E6BE1E430358FD214EB19AF2E38 /* Framer.swift in Sources */, - FE7EFFB6A9757806696A3CD416946F74 /* HTTPHandler.swift in Sources */, - A100344FC632242FDEAA4BFC0FC01534 /* NativeEngine.swift in Sources */, - 7A8AA475862499E7D1525843B24CAA1E /* Security.swift in Sources */, - 3D40950A2A032BF1E7C484F9F74A2A27 /* Server.swift in Sources */, - FB26CA8C3B66AD625A24452C4065D05E /* Starscream-dummy.m in Sources */, - 1F3635C339655885D10797FC8ABD7E8A /* StringHTTPHandler.swift in Sources */, - 7F969E29E261561AEA1DECCD39F67B60 /* TCPTransport.swift in Sources */, - A29DCC96E5AB5067E8BED0CFD06FA96B /* Transport.swift in Sources */, - D4BB4F9AF3D954C2245DDC091A7033C5 /* WebSocket.swift in Sources */, - 3E0613C79EDFB2F6526B335205C961D2 /* WebSocketServer.swift in Sources */, - 1E50A2A08E2D38A9DE964FF9AA2422D3 /* WSCompression.swift in Sources */, - 138B028F2781F34FC2CB743BA8963FA8 /* WSEngine.swift in Sources */, + B81097DEBCF361189800556FB949DBE9 /* Pods-FayeSwift_Example-dummy.m in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - BB45C3174DC438ECCBB37C1B6E9BF19B /* Sources */ = { + 32DFF9A5EF659693ADD631109D7B2526 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - 893EA64D6F55C8DA8ED037570777326E /* FayeClient+Action.swift in Sources */, - C174E2114D6ABFF21E319E9888DB4748 /* FayeClient+Bayuex.swift in Sources */, - C02A130EB04E7E29FC9A3EE23466800C /* FayeClient+Helper.swift in Sources */, - 7404C01D26E709ECEA13C96FC15D75EB /* FayeClient+Parsing.swift in Sources */, - CEA89811A22FE7A4CE7A1BC79A130B1D /* FayeClient+Subscriptions.swift in Sources */, - D9145515CFF4ED198150DDB0C292AC93 /* FayeClient+Transport.swift in Sources */, - C23A7A32046CDBACD4A677F7BDAA5277 /* FayeClient.swift in Sources */, - C154B9ECABD19498F2889B7FBA47BB47 /* FayeClientDelegate.swift in Sources */, - BFF0B7845AD87F28D8FA3B9D2B209A26 /* FayeSubscriptionModel.swift in Sources */, - 45C838EF6C400BF9A4FA6330DCA8FF98 /* FayeSwift-dummy.m in Sources */, - 62FCD7F0DA368198F57272D1682DD66A /* NSError+Helper.swift in Sources */, - 52C2F5AA0D179F742394477ECF98BBFD /* Transport.swift in Sources */, - 1EBC62F41CC90D12AFBF45BA5FCD976E /* WebsocketTransport.swift in Sources */, + CC270E7D68EDF963C16A80ECD29ADA00 /* FayeClient+Action.swift in Sources */, + FBAE6EAE5BAE3504F0ADA0932176ECB9 /* FayeClient+Bayuex.swift in Sources */, + 852A24A518E75BBFBEA4AB477C7C7B20 /* FayeClient+Helper.swift in Sources */, + 0A3491AACF3B030E58B0D85DE94F9A77 /* FayeClient+Parsing.swift in Sources */, + EAEA2DA5EB9BEC82474ADDEF2595119E /* FayeClient+Subscriptions.swift in Sources */, + 707CCBA3E88283A2484AB89D01BB133F /* FayeClient+Transport.swift in Sources */, + B0B154E4BFA108C8EF088F0356A467CB /* FayeClient.swift in Sources */, + 3C9AE0D0989200C0F066380910A49B43 /* FayeClientDelegate.swift in Sources */, + 769822593034E557EE0F4BBDE348010C /* FayeSubscriptionModel.swift in Sources */, + FF4AB4E97F669DE6874684B3964E0F3C /* FayeSwift-dummy.m in Sources */, + 5AE8C8FFA58A98FB2EF5D929AD97CC48 /* NSError+Helper.swift in Sources */, + 4118BD130476632693D8D681D64C7BDD /* Transport.swift in Sources */, + FC1EDDEB048757B367BBDC4D82ECA408 /* WebsocketTransport.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; - C30301AEA2DCA5DD2FC607A58E99A0A8 /* Sources */ = { + 900B414EAE8FB78B4C84FE9046A731E2 /* Sources */ = { isa = PBXSourcesBuildPhase; buildActionMask = 2147483647; files = ( - D9BF66AB4DA1FE122DE361C31ED25D69 /* Pods-FayeSwift_Example-dummy.m in Sources */, + 4CFA72BC9AE59D1D28BEB9CF5B3B99CB /* Compression.swift in Sources */, + A1B3238EEF18EF8504E1A2B18B479930 /* Data+Extensions.swift in Sources */, + 7053B1CF926C531F5CB324BA89A17054 /* Engine.swift in Sources */, + EC1A78BDEFB0746B58A03929039A22DA /* FoundationHTTPHandler.swift in Sources */, + 409FFD09F7C2AB1A2E3022C29E47AEBC /* FoundationHTTPServerHandler.swift in Sources */, + F000BBEF6E0EAA1C58CD157003030497 /* FoundationSecurity.swift in Sources */, + 96B137446187D6B76049502165F9B255 /* FoundationTransport.swift in Sources */, + D283138A651C16A9FBA92A44351FA220 /* FrameCollector.swift in Sources */, + 17BA7C9EF8E08E7C72C31C2B0C050AD3 /* Framer.swift in Sources */, + F386CB7AD9FE43FE75F19B84E69B2C3F /* HTTPHandler.swift in Sources */, + B87DD765AA71CC66B9D882C0C2FF8C13 /* NativeEngine.swift in Sources */, + F93433CB404502EAD9D02592A76F26C2 /* Security.swift in Sources */, + 124C81DB033D760FF13720B7DAF7EB72 /* Server.swift in Sources */, + 78683E4E8860467F8B67989CDC76B0E5 /* Starscream-dummy.m in Sources */, + 4AACE513E124D555D1DAD606417C9752 /* StringHTTPHandler.swift in Sources */, + E8AA269278FDBCA618B4441AFC303B1C /* TCPTransport.swift in Sources */, + D91D98E11D6235C6729CF8A8A6CFCD4D /* Transport.swift in Sources */, + 36F8640866D196BA4554E1CF36C1C7C5 /* WebSocket.swift in Sources */, + EA939E57D1B2125ACFFA6FEBA0AE1C09 /* WebSocketServer.swift in Sources */, + 8672F7C0F34DA7E604A50E31C5BA74A9 /* WSCompression.swift in Sources */, + 7CE012168FD8F0965F8901B0029627FB /* WSEngine.swift in Sources */, ); runOnlyForDeploymentPostprocessing = 0; }; /* End PBXSourcesBuildPhase section */ /* Begin PBXTargetDependency section */ - 22E504E28A10C4398709B34D180FA8C9 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftyJSON; - target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; - targetProxy = 1FAF7891B919F509D3138ED028A6BD86 /* PBXContainerItemProxy */; - }; - 64C5B360762037EC80DB6C7BAAFA3D99 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftyJSON; - target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; - targetProxy = 4FDADCE46294D8AFCFF8EE03B8B981FB /* PBXContainerItemProxy */; - }; - 67EB9351DFE3C2E9DA971B723BA4865D /* PBXTargetDependency */ = { + 77347A0572CC274E70090A33B430E218 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = FayeSwift; target = 5E551DD8B190AB276724C510971C365C /* FayeSwift */; - targetProxy = FC8E37B47A0BE401399B207B9C53A0DF /* PBXContainerItemProxy */; + targetProxy = F7EA3396C573BC562B28BC4ADDC208F6 /* PBXContainerItemProxy */; }; - 7230AEF5B5D5A25A2F7CC7B486B751E1 /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = FayeSwift; - target = 5E551DD8B190AB276724C510971C365C /* FayeSwift */; - targetProxy = ECA15882AE9508D7355A32ED35005A38 /* PBXContainerItemProxy */; - }; - B1E8BFCB48DDBD8475AA24CCB92204C4 /* PBXTargetDependency */ = { + BE9746A12C5B179BDD3020B2FBD1CD21 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 1421504D71EC0462FF0F6C4BEA7A0E1A /* PBXContainerItemProxy */; - }; - C4DEEE3CB6E159A9250950E7D872046E /* PBXTargetDependency */ = { - isa = PBXTargetDependency; - name = SwiftyJSON; - target = D118A6A04828FD3CDA8640CD2B6796D2 /* SwiftyJSON */; - targetProxy = E95DA7A58C5A5BC45C3E3EAF38E4C7FE /* PBXContainerItemProxy */; + targetProxy = CC77485CCDFF17D37F20593A8AAEE8E1 /* PBXContainerItemProxy */; }; - DB9CB4192C3BAEB984EA576B1C796F3E /* PBXTargetDependency */ = { + C723C663B511E787B10C5230BBE5ADB6 /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 5EE3800B516F9A10F65BF1EE1D7E10F8 /* PBXContainerItemProxy */; + targetProxy = 7C8192EF2F05D91E3A42F22B15B2717A /* PBXContainerItemProxy */; }; - E260F2A103167C679FC9DB55176D5F4F /* PBXTargetDependency */ = { + C863549D50E8816C5BE357A65FC2DFDC /* PBXTargetDependency */ = { isa = PBXTargetDependency; name = Starscream; target = 9B78EE4AF6AE03E79D88886319853FF7 /* Starscream */; - targetProxy = 3402497841F54385E8BD13DF35C92B60 /* PBXContainerItemProxy */; + targetProxy = 2775B3BFD89D2BD3E8C8F5EC2FC6E606 /* PBXContainerItemProxy */; + }; + D960B51C6B4703AE26A06BABC22BEDA9 /* PBXTargetDependency */ = { + isa = PBXTargetDependency; + name = FayeSwift; + target = 5E551DD8B190AB276724C510971C365C /* FayeSwift */; + targetProxy = 6F1058A8B60352EF523473FC4637C180 /* PBXContainerItemProxy */; }; /* End PBXTargetDependency section */ /* Begin XCBuildConfiguration section */ - 05EB42A73E2090F258E16E575E3E9BDD /* Release */ = { + 0280F92693D419278F6D1A4CA2D73F50 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */; + baseConfigurationReference = FB3947B8055ACC7D7C6AAF0280B8DD6F /* FayeSwift.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -815,14 +682,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; - PRODUCT_MODULE_NAME = SwiftyJSON; - PRODUCT_NAME = SwiftyJSON; + MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; + PRODUCT_MODULE_NAME = FayeSwift; + PRODUCT_NAME = FayeSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -834,9 +701,9 @@ }; name = Release; }; - 060195FFDBB30400E32DC512A2948E44 /* Debug */ = { + 0603D52AE825EDD540E877878C67FC36 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 7AC274A9B8EA3D455EE4B6D35B3131B0 /* SwiftyJSON.xcconfig */; + baseConfigurationReference = 60BE70F6A7CDA17431FDDC70D47EE478 /* Starscream.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -847,14 +714,14 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/SwiftyJSON/SwiftyJSON.modulemap"; - PRODUCT_MODULE_NAME = SwiftyJSON; - PRODUCT_NAME = SwiftyJSON; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; @@ -865,11 +732,10 @@ }; name = Debug; }; - 0DBDB9B86281CBBF3FDFF7FA9C1FAF19 /* Debug */ = { + 21DF956BB12C9FB73346E26E686A11B8 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */; + baseConfigurationReference = FB3947B8055ACC7D7C6AAF0280B8DD6F /* FayeSwift.xcconfig */; buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; @@ -879,28 +745,27 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; + PRODUCT_MODULE_NAME = FayeSwift; + PRODUCT_NAME = FayeSwift; SDKROOT = iphoneos; SKIP_INSTALL = YES; + SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; + SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; name = Debug; }; - 311ECE6090A2A6284F79965F1FE32CCA /* Release */ = { + 345DB24FC8F45E3C9AFA50FF59689F70 /* Debug */ = { isa = XCBuildConfiguration; - baseConfigurationReference = CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */; + baseConfigurationReference = 92B45F50B2100AC6E199BE823EB478C5 /* Pods-FayeSwift_Tests.debug.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; @@ -912,12 +777,12 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-Info.plist"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; OTHER_LDFLAGS = ""; OTHER_LIBTOOLFLAGS = ""; PODS_ROOT = "$(SRCROOT)"; @@ -926,11 +791,10 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Release; + name = Debug; }; 4BE66A09A74FD25164AAB3C2645B9B93 /* Release */ = { isa = XCBuildConfiguration; @@ -985,141 +849,13 @@ MTL_FAST_MATH = YES; PRODUCT_NAME = "$(TARGET_NAME)"; STRIP_INSTALLED_PRODUCT = NO; - SWIFT_OPTIMIZATION_LEVEL = "-Owholemodule"; + SWIFT_COMPILATION_MODE = wholemodule; + SWIFT_OPTIMIZATION_LEVEL = "-O"; SWIFT_VERSION = 5.0; SYMROOT = "${SRCROOT}/../build"; }; name = Release; }; - 510D3213F48D2DA7BEE4F84FCBFBA98C /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 539B6A9D4E225CE5EE2E5B567196A7E3 /* Debug */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = EDDFD60C0DAAACDB4AFCD8105DA64B01 /* Starscream.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; - PRODUCT_MODULE_NAME = Starscream; - PRODUCT_NAME = Starscream; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Debug; - }; - 713FA7B58E56A02C730C0922DBFF43EB /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */; - buildSettings = { - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; - PRODUCT_MODULE_NAME = FayeSwift; - PRODUCT_NAME = FayeSwift; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; - SWIFT_VERSION = 5.0; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; - 7C0F01947D66B2F81D2812EB9DA6D6ED /* Release */ = { - isa = XCBuildConfiguration; - baseConfigurationReference = 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */; - buildSettings = { - ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; - CODE_SIGN_IDENTITY = ""; - "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; - "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; - CURRENT_PROJECT_VERSION = 1; - DEFINES_MODULE = YES; - DYLIB_COMPATIBILITY_VERSION = 1; - DYLIB_CURRENT_VERSION = 1; - DYLIB_INSTALL_NAME_BASE = "@rpath"; - INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; - INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; - IPHONEOS_DEPLOYMENT_TARGET = 8.0; - LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MACH_O_TYPE = staticlib; - MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; - OTHER_LDFLAGS = ""; - OTHER_LIBTOOLFLAGS = ""; - PODS_ROOT = "$(SRCROOT)"; - PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; - PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; - SDKROOT = iphoneos; - SKIP_INSTALL = YES; - TARGETED_DEVICE_FAMILY = "1,2"; - VALIDATE_PRODUCT = YES; - VERSIONING_SYSTEM = "apple-generic"; - VERSION_INFO_PREFIX = ""; - }; - name = Release; - }; 7EF7227D9B20A1D549000096ACCB23D7 /* Debug */ = { isa = XCBuildConfiguration; buildSettings = { @@ -1184,9 +920,43 @@ }; name = Debug; }; - DAD28B0A4CFE053EF1E36A9A83BACEAD /* Debug */ = { + 87A6D088BA333634B8E16B9325946B0E /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */; + baseConfigurationReference = 528FBBFFC84FFBEF0E7DDF0982562E0B /* Pods-FayeSwift_Tests.release.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + A9700DB7F5654CE964808D05017DA4BE /* Release */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = CC09C6A1CD1691C8FE27E54FC92DC1A1 /* Pods-FayeSwift_Example.release.xcconfig */; buildSettings = { ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; CODE_SIGN_IDENTITY = ""; @@ -1212,14 +982,15 @@ SDKROOT = iphoneos; SKIP_INSTALL = YES; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; - name = Debug; + name = Release; }; - F59AB284691A218FAFE6125238EDFADE /* Debug */ = { + B4824A9AA429D439C79C7CF378DF2F71 /* Release */ = { isa = XCBuildConfiguration; - baseConfigurationReference = 047BEEE8CFD1EAE8DACBFC2ABF95425D /* FayeSwift.xcconfig */; + baseConfigurationReference = 60BE70F6A7CDA17431FDDC70D47EE478 /* Starscream.xcconfig */; buildSettings = { CODE_SIGN_IDENTITY = ""; "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; @@ -1230,19 +1001,53 @@ DYLIB_COMPATIBILITY_VERSION = 1; DYLIB_CURRENT_VERSION = 1; DYLIB_INSTALL_NAME_BASE = "@rpath"; - GCC_PREFIX_HEADER = "Target Support Files/FayeSwift/FayeSwift-prefix.pch"; - INFOPLIST_FILE = "Target Support Files/FayeSwift/FayeSwift-Info.plist"; + GCC_PREFIX_HEADER = "Target Support Files/Starscream/Starscream-prefix.pch"; + INFOPLIST_FILE = "Target Support Files/Starscream/Starscream-Info.plist"; INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; IPHONEOS_DEPLOYMENT_TARGET = 8.0; LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; - MODULEMAP_FILE = "Target Support Files/FayeSwift/FayeSwift.modulemap"; - PRODUCT_MODULE_NAME = FayeSwift; - PRODUCT_NAME = FayeSwift; + MODULEMAP_FILE = "Target Support Files/Starscream/Starscream.modulemap"; + PRODUCT_MODULE_NAME = Starscream; + PRODUCT_NAME = Starscream; SDKROOT = iphoneos; SKIP_INSTALL = YES; SWIFT_ACTIVE_COMPILATION_CONDITIONS = "$(inherited) "; SWIFT_VERSION = 5.0; TARGETED_DEVICE_FAMILY = "1,2"; + VALIDATE_PRODUCT = YES; + VERSIONING_SYSTEM = "apple-generic"; + VERSION_INFO_PREFIX = ""; + }; + name = Release; + }; + F65356282C3BDB7A0F5CA5474C8E2DAC /* Debug */ = { + isa = XCBuildConfiguration; + baseConfigurationReference = A35C786F187E0EDCF9002FFF106F6C57 /* Pods-FayeSwift_Example.debug.xcconfig */; + buildSettings = { + ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = NO; + CODE_SIGN_IDENTITY = ""; + "CODE_SIGN_IDENTITY[sdk=appletvos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=iphoneos*]" = ""; + "CODE_SIGN_IDENTITY[sdk=watchos*]" = ""; + CURRENT_PROJECT_VERSION = 1; + DEFINES_MODULE = YES; + DYLIB_COMPATIBILITY_VERSION = 1; + DYLIB_CURRENT_VERSION = 1; + DYLIB_INSTALL_NAME_BASE = "@rpath"; + INFOPLIST_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-Info.plist"; + INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks"; + IPHONEOS_DEPLOYMENT_TARGET = 8.0; + LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks"; + MACH_O_TYPE = staticlib; + MODULEMAP_FILE = "Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.modulemap"; + OTHER_LDFLAGS = ""; + OTHER_LIBTOOLFLAGS = ""; + PODS_ROOT = "$(SRCROOT)"; + PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}"; + PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)"; + SDKROOT = iphoneos; + SKIP_INSTALL = YES; + TARGETED_DEVICE_FAMILY = "1,2"; VERSIONING_SYSTEM = "apple-generic"; VERSION_INFO_PREFIX = ""; }; @@ -1251,20 +1056,20 @@ /* End XCBuildConfiguration section */ /* Begin XCConfigurationList section */ - 401A35C3B8F4524E534F5AF43DF7FD01 /* Build configuration list for PBXNativeTarget "FayeSwift" */ = { + 19188E0605D4D143004C077EDED27B04 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */ = { isa = XCConfigurationList; buildConfigurations = ( - F59AB284691A218FAFE6125238EDFADE /* Debug */, - 713FA7B58E56A02C730C0922DBFF43EB /* Release */, + 345DB24FC8F45E3C9AFA50FF59689F70 /* Debug */, + 87A6D088BA333634B8E16B9325946B0E /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 42D005F3EC3848C7036D975473A0B599 /* Build configuration list for PBXNativeTarget "Starscream" */ = { + 36F39271BD362A96942CE4BF703446A3 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */ = { isa = XCConfigurationList; buildConfigurations = ( - 539B6A9D4E225CE5EE2E5B567196A7E3 /* Debug */, - 510D3213F48D2DA7BEE4F84FCBFBA98C /* Release */, + F65356282C3BDB7A0F5CA5474C8E2DAC /* Debug */, + A9700DB7F5654CE964808D05017DA4BE /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; @@ -1278,29 +1083,20 @@ defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - 92CE793E190A4CB79F9EE04FEEFE16FD /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Example" */ = { - isa = XCConfigurationList; - buildConfigurations = ( - DAD28B0A4CFE053EF1E36A9A83BACEAD /* Debug */, - 311ECE6090A2A6284F79965F1FE32CCA /* Release */, - ); - defaultConfigurationIsVisible = 0; - defaultConfigurationName = Release; - }; - D837C3410A68BB77EACA27DD71189414 /* Build configuration list for PBXNativeTarget "Pods-FayeSwift_Tests" */ = { + 661AAB7EF76102E76A33C8EB590798DA /* Build configuration list for PBXNativeTarget "Starscream" */ = { isa = XCConfigurationList; buildConfigurations = ( - 0DBDB9B86281CBBF3FDFF7FA9C1FAF19 /* Debug */, - 7C0F01947D66B2F81D2812EB9DA6D6ED /* Release */, + 0603D52AE825EDD540E877878C67FC36 /* Debug */, + B4824A9AA429D439C79C7CF378DF2F71 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; }; - F729EFA373196875F38F5325B7B83897 /* Build configuration list for PBXNativeTarget "SwiftyJSON" */ = { + C9057C70529CDB027B5841A3F869598E /* Build configuration list for PBXNativeTarget "FayeSwift" */ = { isa = XCConfigurationList; buildConfigurations = ( - 060195FFDBB30400E32DC512A2948E44 /* Debug */, - 05EB42A73E2090F258E16E575E3E9BDD /* Release */, + 21DF956BB12C9FB73346E26E686A11B8 /* Debug */, + 0280F92693D419278F6D1A4CA2D73F50 /* Release */, ); defaultConfigurationIsVisible = 0; defaultConfigurationName = Release; diff --git a/Example/Pods/SwiftyJSON/LICENSE b/Example/Pods/SwiftyJSON/LICENSE deleted file mode 100644 index 68e3fd7..0000000 --- a/Example/Pods/SwiftyJSON/LICENSE +++ /dev/null @@ -1,21 +0,0 @@ -The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. diff --git a/Example/Pods/SwiftyJSON/README.md b/Example/Pods/SwiftyJSON/README.md deleted file mode 100644 index 7a10e29..0000000 --- a/Example/Pods/SwiftyJSON/README.md +++ /dev/null @@ -1,562 +0,0 @@ -# SwiftyJSON - -[![Carthage compatible](https://img.shields.io/badge/Carthage-compatible-4BC51D.svg?style=flat)](https://github.com/Carthage/Carthage) ![CocoaPods](https://img.shields.io/cocoapods/v/SwiftyJSON.svg) ![Platform](https://img.shields.io/badge/platforms-iOS%208.0%20%7C%20macOS%2010.10%20%7C%20tvOS%209.0%20%7C%20watchOS%203.0-F28D00.svg) [![Reviewed by Hound](https://img.shields.io/badge/Reviewed_by-Hound-8E64B0.svg)](https://houndci.com) - -SwiftyJSON makes it easy to deal with JSON data in Swift. - -Platform | Build Status ----------| --------------| -*OS | [![Travis CI](https://travis-ci.org/SwiftyJSON/SwiftyJSON.svg?branch=master)](https://travis-ci.org/SwiftyJSON/SwiftyJSON) | -[Linux](https://github.com/IBM-Swift/SwiftyJSON) | [![Build Status](https://travis-ci.org/IBM-Swift/SwiftyJSON.svg?branch=master)](https://travis-ci.org/IBM-Swift/SwiftyJSON) | - - -1. [Why is the typical JSON handling in Swift NOT good](#why-is-the-typical-json-handling-in-swift-not-good) -2. [Requirements](#requirements) -3. [Integration](#integration) -4. [Usage](#usage) - - [Initialization](#initialization) - - [Subscript](#subscript) - - [Loop](#loop) - - [Error](#error) - - [Optional getter](#optional-getter) - - [Non-optional getter](#non-optional-getter) - - [Setter](#setter) - - [Raw object](#raw-object) - - [Literal convertibles](#literal-convertibles) - - [Merging](#merging) -5. [Work with Alamofire](#work-with-alamofire) -6. [Work with Moya](#work-with-moya) -7. [SwiftyJSON Model Generator](#swiftyjson-model-generator) - -> [中文介绍](http://tangplin.github.io/swiftyjson/) - - -## Why is the typical JSON handling in Swift NOT good? - -Swift is very strict about types. But although explicit typing is good for saving us from mistakes, it becomes painful when dealing with JSON and other areas that are, by nature, implicit about types. - -Take the Twitter API for example. Say we want to retrieve a user's "name" value of some tweet in Swift (according to [Twitter's API](https://developer.twitter.com/en/docs/tweets/timelines/api-reference/get-statuses-home_timeline)). - -The code would look like this: - -```swift -if let statusesArray = try? JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], - let user = statusesArray[0]["user"] as? [String: Any], - let username = user["name"] as? String { - // Finally we got the username -} -``` - -It's not good. - -Even if we use optional chaining, it would be messy: - -```swift -if let JSONObject = try JSONSerialization.jsonObject(with: data, options: .allowFragments) as? [[String: Any]], - let username = (JSONObject[0]["user"] as? [String: Any])?["name"] as? String { - // There's our username -} -``` - -An unreadable mess--for something that should really be simple! - -With SwiftyJSON all you have to do is: - -```swift -let json = JSON(data: dataFromNetworking) -if let userName = json[0]["user"]["name"].string { - //Now you got your value -} -``` - -And don't worry about the Optional Wrapping thing. It's done for you automatically. - -```swift -let json = JSON(data: dataFromNetworking) -let result = json[999999]["wrong_key"]["wrong_name"] -if let userName = result.string { - //Calm down, take it easy, the ".string" property still produces the correct Optional String type with safety -} else { - //Print the error - print(result.error) -} -``` - -## Requirements - -- iOS 8.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+ -- Xcode 8 - -## Integration - -#### CocoaPods (iOS 8+, OS X 10.9+) - -You can use [CocoaPods](http://cocoapods.org/) to install `SwiftyJSON` by adding it to your `Podfile`: - -```ruby -platform :ios, '8.0' -use_frameworks! - -target 'MyApp' do - pod 'SwiftyJSON', '~> 4.0' -end -``` - -#### Carthage (iOS 8+, OS X 10.9+) - -You can use [Carthage](https://github.com/Carthage/Carthage) to install `SwiftyJSON` by adding it to your `Cartfile`: - -``` -github "SwiftyJSON/SwiftyJSON" ~> 4.0 -``` - -If you use Carthage to build your dependencies, make sure you have added `SwiftyJSON.framework` to the "Linked Frameworks and Libraries" section of your target, and have included them in your Carthage framework copying build phase. - -#### Swift Package Manager - -You can use [The Swift Package Manager](https://swift.org/package-manager) to install `SwiftyJSON` by adding the proper description to your `Package.swift` file: - -```swift -// swift-tools-version:4.0 -import PackageDescription - -let package = Package( - name: "YOUR_PROJECT_NAME", - dependencies: [ - .package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", from: "4.0.0"), - ] -) -``` -Then run `swift build` whenever you get prepared. - -#### Manually (iOS 7+, OS X 10.9+) - -To use this library in your project manually you may: - -1. for Projects, just drag SwiftyJSON.swift to the project tree -2. for Workspaces, include the whole SwiftyJSON.xcodeproj - -## Usage - -#### Initialization - -```swift -import SwiftyJSON -``` - -```swift -let json = JSON(data: dataFromNetworking) -``` -Or - -```swift -let json = JSON(jsonObject) -``` -Or - -```swift -if let dataFromString = jsonString.data(using: .utf8, allowLossyConversion: false) { - let json = JSON(data: dataFromString) -} -``` - -#### Subscript - -```swift -// Getting a double from a JSON Array -let name = json[0].double -``` - -```swift -// Getting an array of string from a JSON Array -let arrayNames = json["users"].arrayValue.map {$0["name"].stringValue} -``` - -```swift -// Getting a string from a JSON Dictionary -let name = json["name"].stringValue -``` - -```swift -// Getting a string using a path to the element -let path: [JSONSubscriptType] = [1,"list",2,"name"] -let name = json[path].string -// Just the same -let name = json[1]["list"][2]["name"].string -// Alternatively -let name = json[1,"list",2,"name"].string -``` - -```swift -// With a hard way -let name = json[].string -``` - -```swift -// With a custom way -let keys:[JSONSubscriptType] = [1,"list",2,"name"] -let name = json[keys].string -``` - -#### Loop - -```swift -// If json is .Dictionary -for (key,subJson):(String, JSON) in json { - // Do something you want -} -``` - -*The first element is always a String, even if the JSON is an Array* - -```swift -// If json is .Array -// The `index` is 0.. = json["list"].arrayValue -``` - -```swift -// If not a Dictionary or nil, return [:] -let user: Dictionary = json["user"].dictionaryValue -``` - -#### Setter - -```swift -json["name"] = JSON("new-name") -json[0] = JSON(1) -``` - -```swift -json["id"].int = 1234567890 -json["coordinate"].double = 8766.766 -json["name"].string = "Jack" -json.arrayObject = [1,2,3,4] -json.dictionaryObject = ["name":"Jack", "age":25] -``` - -#### Raw object - -```swift -let rawObject: Any = json.object -``` - -```swift -let rawValue: Any = json.rawValue -``` - -```swift -//convert the JSON to raw NSData -do { - let rawData = try json.rawData() - //Do something you want -} catch { - print("Error \(error)") -} -``` - -```swift -//convert the JSON to a raw String -if let rawString = json.rawString() { - //Do something you want -} else { - print("json.rawString is nil") -} -``` - -#### Existence - -```swift -// shows you whether value specified in JSON or not -if json["name"].exists() -``` - -#### Literal convertibles - -For more info about literal convertibles: [Swift Literal Convertibles](http://nshipster.com/swift-literal-convertible/) - -```swift -// StringLiteralConvertible -let json: JSON = "I'm a json" -``` - -```swift -/ /IntegerLiteralConvertible -let json: JSON = 12345 -``` - -```swift -// BooleanLiteralConvertible -let json: JSON = true -``` - -```swift -// FloatLiteralConvertible -let json: JSON = 2.8765 -``` - -```swift -// DictionaryLiteralConvertible -let json: JSON = ["I":"am", "a":"json"] -``` - -```swift -// ArrayLiteralConvertible -let json: JSON = ["I", "am", "a", "json"] -``` - -```swift -// With subscript in array -var json: JSON = [1,2,3] -json[0] = 100 -json[1] = 200 -json[2] = 300 -json[999] = 300 // Don't worry, nothing will happen -``` - -```swift -// With subscript in dictionary -var json: JSON = ["name": "Jack", "age": 25] -json["name"] = "Mike" -json["age"] = "25" // It's OK to set String -json["address"] = "L.A." // Add the "address": "L.A." in json -``` - -```swift -// Array & Dictionary -var json: JSON = ["name": "Jack", "age": 25, "list": ["a", "b", "c", ["what": "this"]]] -json["list"][3]["what"] = "that" -json["list",3,"what"] = "that" -let path: [JSONSubscriptType] = ["list",3,"what"] -json[path] = "that" -``` - -```swift -// With other JSON objects -let user: JSON = ["username" : "Steve", "password": "supersecurepassword"] -let auth: JSON = [ - "user": user.object, // use user.object instead of just user - "apikey": "supersecretapitoken" -] -``` - -#### Merging - -It is possible to merge one JSON into another JSON. Merging a JSON into another JSON adds all non existing values to the original JSON which are only present in the `other` JSON. - -If both JSONs contain a value for the same key, _mostly_ this value gets overwritten in the original JSON, but there are two cases where it provides some special treatment: - -- In case of both values being a `JSON.Type.array` the values form the array found in the `other` JSON getting appended to the original JSON's array value. -- In case of both values being a `JSON.Type.dictionary` both JSON-values are getting merged the same way the encapsulating JSON is merged. - -In case, where two fields in a JSON have a different types, the value will get always overwritten. - -There are two different fashions for merging: `merge` modifies the original JSON, whereas `merged` works non-destructively on a copy. - -```swift -let original: JSON = [ - "first_name": "John", - "age": 20, - "skills": ["Coding", "Reading"], - "address": [ - "street": "Front St", - "zip": "12345", - ] -] - -let update: JSON = [ - "last_name": "Doe", - "age": 21, - "skills": ["Writing"], - "address": [ - "zip": "12342", - "city": "New York City" - ] -] - -let updated = original.merge(with: update) -// [ -// "first_name": "John", -// "last_name": "Doe", -// "age": 21, -// "skills": ["Coding", "Reading", "Writing"], -// "address": [ -// "street": "Front St", -// "zip": "12342", -// "city": "New York City" -// ] -// ] -``` - -## String representation -There are two options available: -- use the default Swift one -- use a custom one that will handle optionals well and represent `nil` as `"null"`: -```swift -let dict = ["1":2, "2":"two", "3": nil] as [String: Any?] -let json = JSON(dict) -let representation = json.rawString(options: [.castNilToNSNull: true]) -// representation is "{\"1\":2,\"2\":\"two\",\"3\":null}", which represents {"1":2,"2":"two","3":null} -``` - -## Work with [Alamofire](https://github.com/Alamofire/Alamofire) - -SwiftyJSON nicely wraps the result of the Alamofire JSON response handler: - -```swift -Alamofire.request(url, method: .get).validate().responseJSON { response in - switch response.result { - case .success(let value): - let json = JSON(value) - print("JSON: \(json)") - case .failure(let error): - print(error) - } -} -``` - -We also provide an extension of Alamofire for serializing NSData to SwiftyJSON's JSON. - -See: [Alamofire-SwiftyJSON](https://github.com/SwiftyJSON/Alamofire-SwiftyJSON) - - -## Work with [Moya](https://github.com/Moya/Moya) - -SwiftyJSON parse data to JSON: - -```swift -let provider = MoyaProvider() -provider.request(.showProducts) { result in - switch result { - case let .success(moyaResponse): - let data = moyaResponse.data - let json = JSON(data: data) // convert network data to json - print(json) - case let .failure(error): - print("error: \(error)") - } -} - -``` - -## SwiftyJSON Model Generator -Tools to generate SwiftyJSON Models -* [JSON Cafe](http://www.jsoncafe.com/) -* [JSON Export](https://github.com/Ahmed-Ali/JSONExport) diff --git a/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig b/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig index afba0db..99bbdae 100644 --- a/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig +++ b/Example/Pods/Target Support Files/FayeSwift/FayeSwift.xcconfig @@ -1,5 +1,5 @@ CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings PODS_BUILD_DIR = ${BUILD_DIR} diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown index a43d8ec..7a5d91b 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.markdown @@ -202,29 +202,4 @@ THE SOFTWARE. defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -## SwiftyJSON - -The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist index 91d92e1..2e350b7 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-acknowledgements.plist @@ -226,37 +226,6 @@ THE SOFTWARE. Type PSGroupSpecifier - - FooterText - The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - SwiftyJSON - Type - PSGroupSpecifier - FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh index f66be5e..9a8cb17 100755 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example-frameworks.sh @@ -163,12 +163,10 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig index 18f4838..71905a3 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.debug.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" +OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig index 18f4838..71905a3 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Example/Pods-FayeSwift_Example.release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" +OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown index a43d8ec..7a5d91b 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.markdown @@ -202,29 +202,4 @@ THE SOFTWARE. defend, and hold each Contributor harmless for any liability incurred by, or claims asserted against, such Contributor by reason of your accepting any such warranty or additional liability. - -## SwiftyJSON - -The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist index 91d92e1..2e350b7 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-acknowledgements.plist @@ -226,37 +226,6 @@ THE SOFTWARE. Type PSGroupSpecifier - - FooterText - The MIT License (MIT) - -Copyright (c) 2017 Ruoyu Fu - -Permission is hereby granted, free of charge, to any person obtaining a copy -of this software and associated documentation files (the "Software"), to deal -in the Software without restriction, including without limitation the rights -to use, copy, modify, merge, publish, distribute, sublicense, and/or sell -copies of the Software, and to permit persons to whom the Software is -furnished to do so, subject to the following conditions: - -The above copyright notice and this permission notice shall be included in -all copies or substantial portions of the Software. - -THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR -IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, -FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE -AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER -LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, -OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN -THE SOFTWARE. - - License - MIT - Title - SwiftyJSON - Type - PSGroupSpecifier - FooterText Generated by CocoaPods - https://cocoapods.org diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh index f66be5e..9a8cb17 100755 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests-frameworks.sh @@ -163,12 +163,10 @@ strip_invalid_archs() { if [[ "$CONFIGURATION" == "Debug" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [[ "$CONFIGURATION" == "Release" ]]; then install_framework "${BUILT_PRODUCTS_DIR}/FayeSwift/FayeSwift.framework" install_framework "${BUILT_PRODUCTS_DIR}/Starscream/Starscream.framework" - install_framework "${BUILT_PRODUCTS_DIR}/SwiftyJSON/SwiftyJSON.framework" fi if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then wait diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig index 18f4838..71905a3 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.debug.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" +OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig index 18f4838..71905a3 100644 --- a/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig +++ b/Example/Pods/Target Support Files/Pods-FayeSwift_Tests/Pods-FayeSwift_Tests.release.xcconfig @@ -1,10 +1,10 @@ ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES -FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" +FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" +HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' -OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON/SwiftyJSON.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON" -OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" -framework "SwiftyJSON" +OTHER_CFLAGS = $(inherited) -isystem "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift/FayeSwift.framework/Headers" -isystem "${PODS_CONFIGURATION_BUILD_DIR}/Starscream/Starscream.framework/Headers" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/FayeSwift" -iframework "${PODS_CONFIGURATION_BUILD_DIR}/Starscream" +OTHER_LDFLAGS = $(inherited) -framework "FayeSwift" -framework "Starscream" OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS PODS_BUILD_DIR = ${BUILD_DIR} PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) diff --git a/Example/Pods/Target Support Files/SwiftyJSON/Info.plist b/Example/Pods/Target Support Files/SwiftyJSON/Info.plist deleted file mode 100644 index 8b511bb..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/Info.plist +++ /dev/null @@ -1,26 +0,0 @@ - - - - - CFBundleDevelopmentRegion - en - CFBundleExecutable - ${EXECUTABLE_NAME} - CFBundleIdentifier - ${PRODUCT_BUNDLE_IDENTIFIER} - CFBundleInfoDictionaryVersion - 6.0 - CFBundleName - ${PRODUCT_NAME} - CFBundlePackageType - FMWK - CFBundleShortVersionString - 3.1.3 - CFBundleSignature - ???? - CFBundleVersion - ${CURRENT_PROJECT_VERSION} - NSPrincipalClass - - - diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m deleted file mode 100644 index 3159bec..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-dummy.m +++ /dev/null @@ -1,5 +0,0 @@ -#import -@interface PodsDummy_SwiftyJSON : NSObject -@end -@implementation PodsDummy_SwiftyJSON -@end diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch deleted file mode 100644 index beb2a24..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-prefix.pch +++ /dev/null @@ -1,12 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h deleted file mode 100644 index b627dec..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON-umbrella.h +++ /dev/null @@ -1,16 +0,0 @@ -#ifdef __OBJC__ -#import -#else -#ifndef FOUNDATION_EXPORT -#if defined(__cplusplus) -#define FOUNDATION_EXPORT extern "C" -#else -#define FOUNDATION_EXPORT extern -#endif -#endif -#endif - - -FOUNDATION_EXPORT double SwiftyJSONVersionNumber; -FOUNDATION_EXPORT const unsigned char SwiftyJSONVersionString[]; - diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap deleted file mode 100644 index 6f41751..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module SwiftyJSON { - umbrella header "SwiftyJSON-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig b/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig deleted file mode 100644 index 167cdaf..0000000 --- a/Example/Pods/Target Support Files/SwiftyJSON/SwiftyJSON.xcconfig +++ /dev/null @@ -1,10 +0,0 @@ -CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/SwiftyJSON -GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 -OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS -suppress-warnings -PODS_BUILD_DIR = ${BUILD_DIR} -PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) -PODS_ROOT = ${SRCROOT} -PODS_TARGET_SRCROOT = ${PODS_ROOT}/SwiftyJSON -PRODUCT_BUNDLE_IDENTIFIER = org.cocoapods.${PRODUCT_NAME:rfc1034identifier} -SKIP_INSTALL = YES -USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/DerivedSources/Pods_FayeSwift_Example_vers.c b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/DerivedSources/Pods_FayeSwift_Example_vers.c deleted file mode 100644 index 85e4ea2..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/DerivedSources/Pods_FayeSwift_Example_vers.c +++ /dev/null @@ -1 +0,0 @@ - const unsigned char Pods_FayeSwift_ExampleVersionString[] __attribute__ ((used)) = "@(#)PROGRAM:Pods_FayeSwift_Example PROJECT:Pods-1" "\n"; const double Pods_FayeSwift_ExampleVersionNumber __attribute__ ((used)) = (double)1.; diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods_FayeSwift_Example.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods_FayeSwift_Example.LinkFileList deleted file mode 100644 index 1e61d9c..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods_FayeSwift_Example.LinkFileList +++ /dev/null @@ -1,2 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods-FayeSwift_Example-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/arm64/Pods_FayeSwift_Example_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods_FayeSwift_Example.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods_FayeSwift_Example.LinkFileList deleted file mode 100644 index 9830f0b..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods_FayeSwift_Example.LinkFileList +++ /dev/null @@ -1,2 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods-FayeSwift_Example-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Objects-normal/armv7/Pods_FayeSwift_Example_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-all-non-framework-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-all-non-framework-target-headers.hmap deleted file mode 100644 index b3bd9570321e6f29264ec483cb0d837b40814293..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmeHH!D_-l5FLxyPiT+QyUthCgNG_a&oYhECYX?AXRUhc2lQ8jeoMcov$51A2|W}g zmkd017}$Al-Yjbt`1Iy=(K*nP10TwJRP^*6ekpEm z09esQyAJqo;X(1%u8jY)M~F5_CssW-2=!rqS#P&*@d9c*!RsXlC+b vtbV6kh0~2{t`1Iy=(K*nP10TwJRP^*6ekpEm z09esQyAJqo;X(1%u8jY)M~F5_CssW-2=!rqS#P&*@d9c*!RsXlC+b vtbV6kh0~2{avNSqe8Kqfk1>B*MtXFFhHS4yc- zSPL8BAuPo-yA`JVZ#+dv?$H}A4|u0yaObw%kJyBo%AO+UTEU5>0E^Kv3_e~tpeE4B y2uXsE1Xbs11JlO*UGAvrE}09~-^laa$&&WHm1d*s$rQeeni$mY$L1Z&|Gof|ZBZov diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-own-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example-own-target-headers.hmap deleted file mode 100644 index f26bef63499b1ab1da820234ede124900f860bf2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1619 zcmXR&%*|kAU|^77V_*Q$4M1!G#G_y|1VHIQ8HhpjC>RZa(GVCxArO$CQmpHiSeY7J jo|#q>?^=Z40RehYM{#nHa-9~DJTGGLLHfn!>qEa9oZ8l>EHmIf|F)Ho6}13pNlkiI&3D6iIkmEeENLfcMIx7)dI{MJqE+R5F&NghN_! zSX9%DS4(PA&3M;N6h|bFocm#(QY*PXtZG)=xg+fE#k_eCu4@{^&Z|YZ>*_k(-W;Tt mt^0>c-CjBoK2xzBb-Wq1+qp-KzeFH>${ev~{U-1IAK?ul4Vdu& diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/Pods_FayeSwift_Example.hmap deleted file mode 100644 index 4830ebdf6dd5b085a51081e019bf0c2c01715f1e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2483 zcmds1OHRWu5OqOf#R1sS3pBH54PCIHh?I5Zrfy@AV9QSW*|A~436Odg?!ZCVzzvv5 z+QuR+qJ*}nBaLR{c;>zNIGV>{jWKp|#Mm*~2h?ZODxwYJ?dqO4q-=ucH z*cs{+bzg;Q+g6Q_xGOYkvil@0tmgy!NOluKk9Yn?UJz%KSXKDnAW!-yklmF`5%?5! z8x&p70Rguh z7C|rzf^I6K9#BRvch5yP9W5J}xnwN@snH)Vum3oKxT@8V|Nom~2@D=1v| z!g`&~iP6OJoGXbHSJ-mgZ`xcQRYk%}dq)JyNcsHB=PrXU)Z4-)r5(!--JoCe`6sk< Z@N8)v(j|0fIkXXdIrelAx|4BEKLOm95AZP5Gce)yO3YJGFjFuxFf`*ZG_x`=w=%WhU|?X>XJBLvElw>eW?*8?NG!@M zW?<$l&o9a@E=WvHWnf`RPApDjVC8g6tV|6q&rB;}U}JZ!NX#wBNo8PX3CK?=W(1nT F006r37%cz* diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/module.modulemap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/module.modulemap deleted file mode 100644 index 971cfd0..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Example.build/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_FayeSwift_Example { - umbrella header "Pods-FayeSwift_Example-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/DerivedSources/Pods_FayeSwift_Tests_vers.c b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/DerivedSources/Pods_FayeSwift_Tests_vers.c deleted file mode 100644 index 790c7bd..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/DerivedSources/Pods_FayeSwift_Tests_vers.c +++ /dev/null @@ -1 +0,0 @@ - const unsigned char Pods_FayeSwift_TestsVersionString[] __attribute__ ((used)) = "@(#)PROGRAM:Pods_FayeSwift_Tests PROJECT:Pods-1" "\n"; const double Pods_FayeSwift_TestsVersionNumber __attribute__ ((used)) = (double)1.; diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods_FayeSwift_Tests.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods_FayeSwift_Tests.LinkFileList deleted file mode 100644 index 430cf3e..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods_FayeSwift_Tests.LinkFileList +++ /dev/null @@ -1,2 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods-FayeSwift_Tests-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/arm64/Pods_FayeSwift_Tests_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods_FayeSwift_Tests.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods_FayeSwift_Tests.LinkFileList deleted file mode 100644 index adc34de..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods_FayeSwift_Tests.LinkFileList +++ /dev/null @@ -1,2 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods-FayeSwift_Tests-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Objects-normal/armv7/Pods_FayeSwift_Tests_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-non-framework-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-non-framework-target-headers.hmap deleted file mode 100644 index 7849f3a69d83fd30e6d83085fdb0306b7131c266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmeHF&1wQc434e%3hhyP*E~f%NNEeJXNhatUEF1d$yn>H56~wm_#!@)S%2y}D)Cy;(*O9Ncv1W* znyA--@&r$cuX<%%&K^0k5?iJmPi1eBPc3H|^%KCcuoXI1qRg5DKqQum$tZ^zQ%w diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-all-target-headers.hmap deleted file mode 100644 index 7849f3a69d83fd30e6d83085fdb0306b7131c266..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmeHF&1wQc434e%3hhyP*E~f%NNEeJXNhatUEF1d$yn>H56~wm_#!@)S%2y}D)Cy;(*O9Ncv1W* znyA--@&r$cuX<%%&K^0k5?iJmPi1eBPc3H|^%KCcuoXI1qRg5DKqQum$tZ^zQ%w diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-generated-files.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-generated-files.hmap deleted file mode 100644 index b10c1ea0720ff02c22a1a30258195ad2bed95f9f..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 319 zcmbu3O$x$5424HmUcw`^xrDkFs_T+YqaAFWVbb4o2%gtW3!@8N8TiP9~Oz zqp%h>!bA9{Lf%#g{rRCqzUyd9&JQ?IHkeDBpNLz|d-9xW1!ook6?(%kSbt-Onm{8X zL<{UkY+OxHbfzvLNW AH2?qr diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-own-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests-own-target-headers.hmap deleted file mode 100644 index e7ecd269765958fb34cffd2e4ee0e71670837cf8..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1615 zcmXR&%*|kAU|^77V_*Q$4M1!H#G_y|1V%%E@(=*!DMcU#(W78A1cpoq1mvd_>$)XY jrUsX1rj^8pq!yPH>z3vw6{Y6nBZ40RehYM{#nHa-9~DJTGGLLHfn!>qEa9oZ8l>EHmIf|F)Ho6}13pNlkiI&3D6iIkmEeENLfcMIx7)dI{MJqE+R5F&NghN_! zSX9%DS4(PA&3M;N6h|bFocm#(QY*PXtZG)=xg+fE#k_eCu4@{^&Z|YZ>*_k(-W;Tt mt^0>c-CjBoK2xzBb-Wq1+qp-KzeFH>${ev~{U-1IAK?ul4Vdu& diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests.hmap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/Pods_FayeSwift_Tests.hmap deleted file mode 100644 index 3da76852f46d1d1a8d54e77c666dd00b05c8f744..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2475 zcmd^9%}T>S5MC8L`2b#ozCd?g!uHUE3aRJ1O{dLbVwT;cKLCSxL{G>`m!5(Am_>i$9vUjA9q)lXUz}Pz#u(pZ360v(yYj-IY z?u7I^*ynx5-bgze^!W6H`n&A64$JnoX^(X^>*BYBWp{1uUy=v95l(9DHsp$Cw){pu z$loSb6aGEoX8#kc{SWd&P5$bBFXE9Ibj1R_nH(pBKAOY~rl<|~8C)82AP`y_n8o_q zDB&ac!U$NUKxZx@6(S5%8IHi#n7h1*V}p~f&2JXo_8i|-Ty&Y>^#1e2DRDi!Ob)s-O;EwF$UzKfep zb95AZP5Gce)yO3YJGFjFuxFf`*ZG_x`=w=%WhU|?X>XJBLvElw>eW?*8?NG!@M zW?<$l&o9a@E=WvHWnf`RPApDjVC8g6tV|6q&rB;}U}JZ!NX#wBNo8PX3CK?=W(1nT F006r37%cz* diff --git a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/module.modulemap b/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/module.modulemap deleted file mode 100644 index b23270e..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Pods-FayeSwift_Tests.build/module.modulemap +++ /dev/null @@ -1,6 +0,0 @@ -framework module Pods_FayeSwift_Tests { - umbrella header "Pods-FayeSwift_Tests-umbrella.h" - - export * - module * { export * } -} diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/DerivedSources/Starscream_vers.c b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/DerivedSources/Starscream_vers.c deleted file mode 100644 index ff4d691..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/DerivedSources/Starscream_vers.c +++ /dev/null @@ -1 +0,0 @@ - const unsigned char StarscreamVersionString[] __attribute__ ((used)) = "@(#)PROGRAM:Starscream PROJECT:Pods-1" "\n"; const double StarscreamVersionNumber __attribute__ ((used)) = (double)1.; diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream-OutputFileMap.json b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream-OutputFileMap.json deleted file mode 100644 index aa94f68..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream-OutputFileMap.json +++ /dev/null @@ -1 +0,0 @@ -{"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/Starscream\/Source\/SSLSecurity.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/SSLSecurity.swiftdeps"},"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/Starscream\/Source\/WebSocket.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/WebSocket.swiftdeps"},"":{"swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/arm64\/Starscream-master.swiftdeps"}} \ No newline at end of file diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream.LinkFileList deleted file mode 100644 index a943404..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream.LinkFileList +++ /dev/null @@ -1,4 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/SSLSecurity.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/WebSocket.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/arm64/Starscream_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream-OutputFileMap.json b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream-OutputFileMap.json deleted file mode 100644 index 2fad39e..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream-OutputFileMap.json +++ /dev/null @@ -1 +0,0 @@ -{"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/Starscream\/Source\/SSLSecurity.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/SSLSecurity.swiftdeps"},"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/Starscream\/Source\/WebSocket.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/WebSocket.swiftdeps"},"":{"swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/Starscream.build\/Objects-normal\/armv7\/Starscream-master.swiftdeps"}} \ No newline at end of file diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream.LinkFileList deleted file mode 100644 index b75af9f..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream.LinkFileList +++ /dev/null @@ -1,4 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/SSLSecurity.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/WebSocket.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Objects-normal/armv7/Starscream_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-non-framework-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-non-framework-target-headers.hmap deleted file mode 100644 index 836f9d4729939fe3b4287da302eb6f46a21c7528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmeHF!D_-l5S^CdHwe9m(4)>*)Pe^sM9(tDX%m`|WoNAl9{K_Ot^S0c(o-i@Vp9y`pk?>*kEp)|SyfNlriPS1}M^l0mk1U~idOYxA0*H)WALkT?T|Jy4Lif_gJ zEkLGdtJwr}70_3_H*4c^^}vyp&@!c1wu5!Lw45X~i~#4tRxlzP3vM#|CWb=Bkc4nV zI}SGSi^In)r6yr~&Q^jmvajrV!P=P2y51;GSUh%w^Gf;K#V_T;rySJA*RYrys4F3y zpZg9f)@LkEiYz?3V(35muVgFsj^b6*HT7a|yKyj`VA)>7UdgVD&p%5c>MQ*K_6GJ3 diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-all-target-headers.hmap deleted file mode 100644 index 836f9d4729939fe3b4287da302eb6f46a21c7528..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmeHF!D_-l5S^CdHwe9m(4)>*)Pe^sM9(tDX%m`|WoNAl9{K_Ot^S0c(o-i@Vp9y`pk?>*kEp)|SyfNlriPS1}M^l0mk1U~idOYxA0*H)WALkT?T|Jy4Lif_gJ zEkLGdtJwr}70_3_H*4c^^}vyp&@!c1wu5!Lw45X~i~#4tRxlzP3vM#|CWb=Bkc4nV zI}SGSi^In)r6yr~&Q^jmvajrV!P=P2y51;GSUh%w^Gf;K#V_T;rySJA*RYrys4F3y zpZg9f)@LkEiYz?3V(35muVgFsj^b6*HT7a|yKyj`VA)>7UdgVD&p%5c>MQ*K_6GJ3 diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-generated-files.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-generated-files.hmap deleted file mode 100644 index 45aad1959719da8a2eb869e455ca02a0552aa9c3..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 279 zcma)$!3x4K42G*G?>>jiOQ>gIc$Tb`QiTvN!a*>F=kMf z%1U`C^BMcKGVXuosnSosY>~w>VRPz;rLYE$q5(W|5a=UcC7~s-C|!k%p}a*&o3{}z&@J* diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-own-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream-own-target-headers.hmap deleted file mode 100644 index f58f1c30d1653b30d68113536b5827e73d07ca19..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1595 zcmXR&%*|kAU|^77V_*Q$4M3~_#G_y|1V%$(Gz6#>0-&-*9Ed^mC>R1E5L}X2RGeIt XnwYCwnwwOVnv;{Lm%)G#)n@Z40RehYM{#nHa-9~DJTGGLLHfn!>qEa9oZ8l>EHmIf|F)Ho6}13pNlkiI&3D6iIkmEeENLfcMIx7)dI{MJqE+R5F&NghN_! zSX9%DS4(PA&3M;N6h|bFocm#(QY*PXtZG)=xg+fE#k_eCu4@{^&Z|YZ>*_k(-W;Tt mt^0>c-CjBoK2xzBb-Wq1+qp-KzeFH>${ev~{U-1IAK?ul4Vdu& diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/Starscream.hmap deleted file mode 100644 index 65c0546737b5bc21719d3c7b3013d07691b1910c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2519 zcmd^8y-ve05I#U+Vq;;fm|#e5Wn+O341kn&uH4jZED~buq(2*C;5FEgc#Ce#JPR+t zIsLIq!_Y!Y5htC_xt#C&?#GfP(G~z4>;mkOy&o%?rR8)7piXM+cjTDvzitBPl zO}is~GtFDE7>Iq+H9*Z&VrpAgjW6R_8~gA}_0AOkLm!W{zel9Tu0q~vMw9%{gt4jb z<&by|sR73R2YI3*hopbD-XLR2hl;bL(dA0}Az)q80VAe_#$Kv!v}7U2kZFchHsC=| zv@<;KvqZ)mo4JTvc%8PiKRTZAX5R6HjM7`4YP9*M|CQ+SR*>c@s>8ENkV~1WtWp&*k#b-ielD)b)R=aoG3kbJdvk90;$qz` z2$xbUM?xs~y9`W(L%qgzri%eO#0#f;X+^Y0;Gap)p%*JRxCpK;(H_4^&nEhM4a}yG fV8MpFxOP!Isd!uTeHkvbl%+Ga+3A@~xwuFl$}e;Q diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/dgph b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/dgph deleted file mode 100644 index 51b9e807026703a5a2aee673f0527ff70af6222c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmZ>95AZP5Gce)yO3YJGFjFuxFf`*ZG_x`=w=%WhU|?X>XJBLvElw>eW?*8?NG!@M zW?<$l&o9a@E=WvHWnf`RPApDjVC8g6tV|6q&rB;}U}JZ!NX#wBNo8PX3CK?=W(1nT F006r37%cz* diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/module.modulemap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/module.modulemap deleted file mode 100644 index b3a9cec..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Starscream { - umbrella header "Starscream-umbrella.h" - - export * - module * { export * } -} - -module Starscream.Swift { - header "Starscream-Swift.h" -} diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/swift-overrides.hmap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/swift-overrides.hmap deleted file mode 100644 index cccb8ab137adb1ea6d6615041a2b8f228a7908fc..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmXR&%*|kAU|^U5B$$A-0uajqF){$jivY1Avfwagn+yj32A3oj6(<*^Cg$n}muIGx k=w&dJ<|URTX67U&<)rE(b96IO6H`))7!X?Y5lpyl087#!`v3p{ diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module-overlay.yaml b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module-overlay.yaml deleted file mode 100644 index b142e57..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module-overlay.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{ - 'version': 0, - 'case-sensitive': 'false', - 'roots': [{ - 'type': 'directory', - 'name': '/Users/haris/workspace/casa/FayeSwift/Example/build/Debug-iphoneos/Starscream.framework/Modules' - 'contents': [{ - 'type': 'file', - 'name': 'module.modulemap', - 'external-contents': '/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module.modulemap', - }] - }] -} diff --git a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module.modulemap b/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module.modulemap deleted file mode 100644 index 80f343e..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/Starscream.build/unextended-module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module Starscream { - umbrella header "Starscream-umbrella.h" - - export * - module * { export * } -} - -module Starscream.__Swift { - exclude header "Starscream-Swift.h" -} diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/DerivedSources/SwiftyJSON_vers.c b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/DerivedSources/SwiftyJSON_vers.c deleted file mode 100644 index 9b00c03..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/DerivedSources/SwiftyJSON_vers.c +++ /dev/null @@ -1 +0,0 @@ - const unsigned char SwiftyJSONVersionString[] __attribute__ ((used)) = "@(#)PROGRAM:SwiftyJSON PROJECT:Pods-1" "\n"; const double SwiftyJSONVersionNumber __attribute__ ((used)) = (double)1.; diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON-OutputFileMap.json b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON-OutputFileMap.json deleted file mode 100644 index dff8cd7..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON-OutputFileMap.json +++ /dev/null @@ -1 +0,0 @@ -{"":{"swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON-master.swiftdeps"},"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/SwiftyJSON\/Source\/SwiftyJSON.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/arm64\/SwiftyJSON.swiftdeps"}} \ No newline at end of file diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON.LinkFileList deleted file mode 100644 index 6a82f7d..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON.LinkFileList +++ /dev/null @@ -1,3 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/arm64/SwiftyJSON_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON-OutputFileMap.json b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON-OutputFileMap.json deleted file mode 100644 index da0ab9d..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON-OutputFileMap.json +++ /dev/null @@ -1 +0,0 @@ -{"":{"swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON-master.swiftdeps"},"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/Pods\/SwiftyJSON\/Source\/SwiftyJSON.swift":{"swiftmodule":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON~partial.swiftmodule","object":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON.o","llvm-bc":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON.bc","diagnostics":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON.dia","dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON.d","swift-dependencies":"\/Users\/haris\/workspace\/casa\/FayeSwift\/Example\/build\/Pods.build\/Debug-iphoneos\/SwiftyJSON.build\/Objects-normal\/armv7\/SwiftyJSON.swiftdeps"}} \ No newline at end of file diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON.LinkFileList b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON.LinkFileList deleted file mode 100644 index 6eaa273..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON.LinkFileList +++ /dev/null @@ -1,3 +0,0 @@ -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON-dummy.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON.o -/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/Objects-normal/armv7/SwiftyJSON_vers.o diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-all-non-framework-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-all-non-framework-target-headers.hmap deleted file mode 100644 index ae5023958fdbb2492bfd8c8ae748fbfab867422e..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2205 zcmXR&%*|kAU|^77V_;wb(hX1yq(%Xr5azr#K4db#6uDUmuIGxRC)#b`{^T?x}~{EMX5PCiFz3f`k}?C zMaB9ViA9;k`sMjW*~JBk$*KCuiN%TfZi$ttU|ssI6^Xe8IjQ;q`6zr#K4db#6uDUmuIGxRC)#b`{^T?x}~{EMX5PCiFz3f`k}?C zMaB9ViA9;k`sMjW*~JBk$*KCuiN%TfZi$ttU|ssI6^Xe8IjQ;q`6B5)D$_<3NjV}7NcWmd^~eNO`wqx*4WWA v0jn0vP!QymD-7(t;p8Qklvk&P3)WxAGyML4_tDj4QeQ<)41)rL+fSDVko7%B diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-own-target-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-own-target-headers.hmap deleted file mode 100644 index 13ff3ebf4e4c33fc7aed9761cf8cae551551f4dd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1595 zcmXR&%*|kAU|^77V_*Q$4M3~_#Df8V+#?ReAbJ#xhQMeDjE2By2+%16g3B}0N-DjA W{rz-HbCZfvb8-^(G8hn|`V0V3w+==C diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-project-headers.hmap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON-project-headers.hmap deleted file mode 100644 index f1cba869ccfc866ef860cf9bc0f6c0b79462c53d..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 1953 zcmeHDJ5B>Z40RehYM{#nHa-9~DJTGGLLHfn!>qEa9oZ8l>EHmIf|F)Ho6}13pNlkiI&3D6iIkmEeENLfcMIx7)dI{MJqE+R5F&NghN_! zSX9%DS4(PA&3M;N6h|bFocm#(QY*PXtZG)=xg+fE#k_eCu4@{^&Z|YZ>*_k(-W;Tt mt^0>c-CjBoK2xzBb-Wq1+qp-KzeFH>${ev~{U-1IAK?ul4Vdu& diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON.hmap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/SwiftyJSON.hmap deleted file mode 100644 index 7bddf7bdf8dd32ed73aec713fcdc7c94ec2052f1..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2519 zcmd^9y-ve05H=t&v9T~#OfV$3c4L7K41kn&uH4jZED~buq(2*C;5FEgc#Ce#JPR+t zT}o?|mF%J&boBj-j$W?=beV%^1Z^>=1>`5P)JG zc8{R@=vCmGSagg2TBW#-W@^Bs-hQgb6P%R}I>owF}Q$;YiVGd>T9ETC?Mp9 zLyJ#EQ2}QYo~T$rFPCv2uF}5o=gU*k%ZHv+QF~ceS7U=6S gu(Zr>cX{ogcuI?bocJoNG?b-xY|-(VEVZ~y@5cUeSO5S3 diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/dgph b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/dgph deleted file mode 100644 index 51b9e807026703a5a2aee673f0527ff70af6222c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 103 zcmZ>95AZP5Gce)yO3YJGFjFuxFf`*ZG_x`=w=%WhU|?X>XJBLvElw>eW?*8?NG!@M zW?<$l&o9a@E=WvHWnf`RPApDjVC8g6tV|6q&rB;}U}JZ!NX#wBNo8PX3CK?=W(1nT F006r37%cz* diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/module.modulemap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/module.modulemap deleted file mode 100644 index dfedb28..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module SwiftyJSON { - umbrella header "SwiftyJSON-umbrella.h" - - export * - module * { export * } -} - -module SwiftyJSON.Swift { - header "SwiftyJSON-Swift.h" -} diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/swift-overrides.hmap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/swift-overrides.hmap deleted file mode 100644 index 019874fbc4acd93debf179c7f2cfb9129b68a493..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 490 zcmXR&%*|kAU|^U5B$$A-0uajq@lXdKKZyXbA|8*J5TOQ-cG^k>muIGxRC)#b`{{z2 kdKnC*d5L9-nK_9`IjQ={9Nmo6#FW$`280%U1QV_s01Tub`~Uy| diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module-overlay.yaml b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module-overlay.yaml deleted file mode 100644 index 48dd012..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module-overlay.yaml +++ /dev/null @@ -1,13 +0,0 @@ -{ - 'version': 0, - 'case-sensitive': 'false', - 'roots': [{ - 'type': 'directory', - 'name': '/Users/haris/workspace/casa/FayeSwift/Example/build/Debug-iphoneos/SwiftyJSON.framework/Modules' - 'contents': [{ - 'type': 'file', - 'name': 'module.modulemap', - 'external-contents': '/Users/haris/workspace/casa/FayeSwift/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module.modulemap', - }] - }] -} diff --git a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module.modulemap b/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module.modulemap deleted file mode 100644 index 25e69c3..0000000 --- a/Example/build/Pods.build/Debug-iphoneos/SwiftyJSON.build/unextended-module.modulemap +++ /dev/null @@ -1,10 +0,0 @@ -framework module SwiftyJSON { - umbrella header "SwiftyJSON-umbrella.h" - - export * - module * { export * } -} - -module SwiftyJSON.__Swift { - exclude header "SwiftyJSON-Swift.h" -} diff --git a/FayeSwift.podspec b/FayeSwift.podspec index a6ec333..9055970 100644 --- a/FayeSwift.podspec +++ b/FayeSwift.podspec @@ -18,5 +18,4 @@ Pod::Spec.new do |s| s.tvos.deployment_target = "9.0" s.source_files = "Sources/*.swift" s.dependency "Starscream", '~> 4.0.0' - s.dependency "SwiftyJSON", '~> 5.0.0' end diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index 1d01a7b..c36a0f7 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -7,7 +7,7 @@ // import Foundation -import SwiftyJSON +//import SwiftyJSON // FIXME: comparison operators with optionals were removed from the Swift Standard Libary. // Consider refactoring the code to use the non-optional operators. fileprivate func < (lhs: T?, rhs: T?) -> Bool { @@ -118,9 +118,6 @@ extension FayeClient { let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Disconnect.rawValue as AnyObject, Bayeux.ClientId.rawValue: self.fayeClientId! as AnyObject, Bayeux.ConnectionType.rawValue: BayeuxConnection.WebSocket.rawValue as AnyObject] - if let string = JSON(dict).rawString() { - self.transport?.writeString(string) - } send(dict) } } @@ -141,7 +138,7 @@ extension FayeClient { self.pendingSubscriptions.append(model) } catch { - + // TODO: catch this error } } } diff --git a/Sources/FayeClient.swift b/Sources/FayeClient.swift index b2d79ff..9fb33c7 100644 --- a/Sources/FayeClient.swift +++ b/Sources/FayeClient.swift @@ -7,7 +7,6 @@ // import Foundation -import SwiftyJSON // MARK: Subscription State public enum FayeSubscriptionState { diff --git a/Sources/FayeSubscriptionModel.swift b/Sources/FayeSubscriptionModel.swift index ee8e63e..a9ee320 100644 --- a/Sources/FayeSubscriptionModel.swift +++ b/Sources/FayeSubscriptionModel.swift @@ -7,90 +7,6 @@ // import Foundation -import SwiftyJSON - -//public enum FayeSubscriptionModelError: Error { -// case conversationError -// case clientIdNotValid -//} -// -//// MARK: -//// MARK: FayeSubscriptionModel -// -///// Subscription Model -//open class FayeSubscriptionModel { -// -// /// Subscription URL -// let subscription: String -// -// /// Channel type for request -// let channel: BayeuxChannel -// -// /// Uniqle client id for socket -// var clientId: String? -// -// /// Model must conform to Hashable -// var hashValue: Int { -// return subscription.hashValue -// } -// -// // MARK: -// // MARK: Init -// -// public init(subscription: String, channel: BayeuxChannel=BayeuxChannel.Subscribe, clientId: String?) { -// self.subscription = subscription -// self.channel = channel -// self.clientId = clientId -// } -// -// // MARK: -// // MARK: JSON -// -// /// Return Json string from model -// open func jsonString() throws -> String { -// do { -// guard let model = try JSON(toDictionary()).rawString() else { -// throw FayeSubscriptionModelError.conversationError -// } -// -// return model -// } catch { -// throw FayeSubscriptionModelError.clientIdNotValid -// } -// } -// -// // MARK: -// // MARK: Helper -// -// /// Create dictionary of model object, Subclasses should override method to return custom model -// open func toDictionary() throws -> [String: AnyObject] { -// guard let clientId = clientId else { -// throw FayeSubscriptionModelError.clientIdNotValid -// } -// -// return [Bayeux.Channel.rawValue: channel.rawValue as AnyObject, -// Bayeux.ClientId.rawValue: clientId as AnyObject, -// Bayeux.Subscription.rawValue: subscription as AnyObject] -// } -//} -// -//// MARK: -//// MARK: Description -// -//extension FayeSubscriptionModel: CustomStringConvertible { -// -// public var description: String { -// return "FayeSubscriptionModel: \(try? self.toDictionary())" -// } -//} -// -//// MARK: -//// MARK: Equatable -// -//public func ==(lhs: FayeSubscriptionModel, rhs: FayeSubscriptionModel) -> Bool { -// return lhs.hashValue == rhs.hashValue -//} - public struct FayeSubscriptionModel: Encodable, Equatable { From a08be7c1fd6f9c44e3e3a641bc7256e64ff0a291 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Tue, 24 Mar 2020 10:29:44 +0000 Subject: [PATCH 08/24] Small clean up --- Sources/FayeClient+Bayuex.swift | 35 ++++++++++++++++----------------- 1 file changed, 17 insertions(+), 18 deletions(-) diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index c36a0f7..701b1f8 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -80,16 +80,16 @@ extension FayeClient { // "supportedConnectionTypes": ["long-polling", "callback-polling", "iframe", "websocket] func handshake() { writeOperationQueue.sync { [unowned self] in - let connTypes:NSArray = [BayeuxConnection.LongPolling.rawValue, - BayeuxConnection.Callback.rawValue, - BayeuxConnection.iFrame.rawValue, - BayeuxConnection.WebSocket.rawValue] + let connTypes = [BayeuxConnection.LongPolling.rawValue, + BayeuxConnection.Callback.rawValue, + BayeuxConnection.iFrame.rawValue, + BayeuxConnection.WebSocket.rawValue] var dict = [String: AnyObject]() dict[Bayeux.Channel.rawValue] = BayeuxChannel.Handshake.rawValue as AnyObject? dict[Bayeux.Version.rawValue] = "1.0" as AnyObject? dict[Bayeux.MinimumVersion.rawValue] = "1.0beta" as AnyObject? - dict[Bayeux.SupportedConnectionTypes.rawValue] = connTypes + dict[Bayeux.SupportedConnectionTypes.rawValue] = connTypes as? AnyObject send(dict) } } @@ -115,9 +115,11 @@ extension FayeClient { // "clientId": "Un1q31d3nt1f13r" func disconnect() { writeOperationQueue.sync { [unowned self] in + guard let clientId = self.fayeClientId else { return } let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Disconnect.rawValue as AnyObject, - Bayeux.ClientId.rawValue: self.fayeClientId! as AnyObject, + Bayeux.ClientId.rawValue: clientId as AnyObject, Bayeux.ConnectionType.rawValue: BayeuxConnection.WebSocket.rawValue as AnyObject] + send(dict) } } @@ -151,12 +153,11 @@ extension FayeClient { // } func unsubscribe(_ channel:String) { writeOperationQueue.sync { [unowned self] in - if let clientId = self.fayeClientId { - let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Unsubscibe.rawValue as AnyObject, - Bayeux.ClientId.rawValue: clientId as AnyObject, - Bayeux.Subscription.rawValue: channel as AnyObject] - send(dict) - } + guard let clientId = self.fayeClientId else { return } + let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: BayeuxChannel.Unsubscibe.rawValue as AnyObject, + Bayeux.ClientId.rawValue: clientId as AnyObject, + Bayeux.Subscription.rawValue: channel as AnyObject] + send(dict) } } @@ -170,12 +171,10 @@ extension FayeClient { func publish(_ data:[String:AnyObject], channel:String) { writeOperationQueue.sync { [weak self] in if let clientId = self?.fayeClientId, let messageId = self?.nextMessageId(), self?.fayeConnected == true { - let dict:[String:AnyObject] = [ - Bayeux.Channel.rawValue: channel as AnyObject, - Bayeux.ClientId.rawValue: clientId as AnyObject, - Bayeux.Id.rawValue: messageId as AnyObject, - Bayeux.Data.rawValue: data as AnyObject - ] + let dict:[String:AnyObject] = [Bayeux.Channel.rawValue: channel as AnyObject, + Bayeux.ClientId.rawValue: clientId as AnyObject, + Bayeux.Id.rawValue: messageId as AnyObject, + Bayeux.Data.rawValue: data as AnyObject] send(dict) } From 4116cfeecc272cc961ce0330d82c04ef92f5bcda Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 13:23:21 +0000 Subject: [PATCH 09/24] update for spm --- Package.swift | 3 +-- Sources/FayeClient+Bayuex.swift | 3 ++- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/Package.swift b/Package.swift index a9712d5..85ab92b 100644 --- a/Package.swift +++ b/Package.swift @@ -4,7 +4,6 @@ let package = Package( name: "FayeSwift", targets: [], dependencies: [ - .Package(url: "https://github.com/SwiftyJSON/SwiftyJSON.git", versions: "2.3.3" ..< Version.max), - .Package(url: "https://github.com/daltoniam/Starscream.git", versions: "1.1.3" ..< Version.max) + .Package(url: "https://github.com/daltoniam/Starscream.git", versions: "4.0.0" ..< Version.max) ] ) diff --git a/Sources/FayeClient+Bayuex.swift b/Sources/FayeClient+Bayuex.swift index 701b1f8..880917d 100644 --- a/Sources/FayeClient+Bayuex.swift +++ b/Sources/FayeClient+Bayuex.swift @@ -7,7 +7,8 @@ // import Foundation -//import SwiftyJSON + + // FIXME: comparison operators with optionals were removed from the Swift Standard Libary. // Consider refactoring the code to use the non-optional operators. fileprivate func < (lhs: T?, rhs: T?) -> Bool { From da9f2ef0be9bdc3a791c18d4a01c380a797c232d Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 13:41:33 +0000 Subject: [PATCH 10/24] update for spm again --- Package.resolved | 25 +++++++++++++++++++++++++ Package.swift | 7 ++++--- 2 files changed, 29 insertions(+), 3 deletions(-) create mode 100644 Package.resolved diff --git a/Package.resolved b/Package.resolved new file mode 100644 index 0000000..1d3df5d --- /dev/null +++ b/Package.resolved @@ -0,0 +1,25 @@ +{ + "object": { + "pins": [ + { + "package": "Starscream", + "repositoryURL": "https://github.com/daltoniam/Starscream.git", + "state": { + "branch": null, + "revision": "850f6204411cde04d16c129b70a2b9d1beba3a95", + "version": "4.0.0" + } + }, + { + "package": "swift-nio-zlib-support", + "repositoryURL": "https://github.com/apple/swift-nio-zlib-support.git", + "state": { + "branch": null, + "revision": "37760e9a52030bb9011972c5213c3350fa9d41fd", + "version": "1.0.0" + } + } + ] + }, + "version": 1 +} diff --git a/Package.swift b/Package.swift index 85ab92b..523ef78 100644 --- a/Package.swift +++ b/Package.swift @@ -1,9 +1,10 @@ +// swift-tools-version:5.0 import PackageDescription let package = Package( name: "FayeSwift", - targets: [], dependencies: [ - .Package(url: "https://github.com/daltoniam/Starscream.git", versions: "4.0.0" ..< Version.max) - ] + .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") + ], + targets: [] ) From d6db079b1c87ebc56a0b855cdf0eb3c894e7328d Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 13:56:29 +0000 Subject: [PATCH 11/24] try --- Package.swift | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 523ef78..931888a 100644 --- a/Package.swift +++ b/Package.swift @@ -3,8 +3,13 @@ import PackageDescription let package = Package( name: "FayeSwift", + products: [ + .library(name: "FayeClient", targets: ["Faye"]), + ], dependencies: [ .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") ], - targets: [] + targets: [ + .systemLibrary(name: "Faye", path: "Sources", pkgConfig: nil, providers: nil) + ] ) From 413ff3cc2c38d72d4828f8b91e3302b15ec344d6 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 14:00:39 +0000 Subject: [PATCH 12/24] hmmm --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 931888a..90870e1 100644 --- a/Package.swift +++ b/Package.swift @@ -4,12 +4,12 @@ import PackageDescription let package = Package( name: "FayeSwift", products: [ - .library(name: "FayeClient", targets: ["Faye"]), + .library(name: "FayeClient", targets: ["FayeSwift"]), ], dependencies: [ .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") ], targets: [ - .systemLibrary(name: "Faye", path: "Sources", pkgConfig: nil, providers: nil) + .systemLibrary(name: "FayeSwift", path: "Example", pkgConfig: nil, providers: nil) ] ) From 4fd062e7c6ca20dbd7e0c27bf84e4dfc987a4403 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 14:08:17 +0000 Subject: [PATCH 13/24] once more --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 90870e1..3492990 100644 --- a/Package.swift +++ b/Package.swift @@ -4,12 +4,12 @@ import PackageDescription let package = Package( name: "FayeSwift", products: [ - .library(name: "FayeClient", targets: ["FayeSwift"]), + .library(name: "FayeSwift", targets: ["FayeSwift"]), ], dependencies: [ .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") ], targets: [ - .systemLibrary(name: "FayeSwift", path: "Example", pkgConfig: nil, providers: nil) + .systemLibrary(name: "FayeSwift", path: "Sources", pkgConfig: nil, providers: nil) ] ) From 86c70d79007d715ad408ccc7ff8abaaf1d992964 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 14:14:32 +0000 Subject: [PATCH 14/24] maybe --- Package.swift | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 3492990..41bf986 100644 --- a/Package.swift +++ b/Package.swift @@ -10,6 +10,10 @@ let package = Package( .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") ], targets: [ - .systemLibrary(name: "FayeSwift", path: "Sources", pkgConfig: nil, providers: nil) + .target(name: "FayeSwift", + dependencies: [._byNameItem(name: "Starscream")], + path: ".", + exclude: [], + sources: ["Sources"]) ] ) From 9c91f650323c9bfae3953b9ce43a215c8d690c3f Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 14:26:06 +0000 Subject: [PATCH 15/24] working --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 41bf986..d0542e0 100644 --- a/Package.swift +++ b/Package.swift @@ -12,7 +12,7 @@ let package = Package( targets: [ .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], - path: ".", + path: "./Sources", exclude: [], sources: ["Sources"]) ] From 62e24e2cc9b50af833db7a4f2adfc9cb186f3ab7 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:15:56 +0000 Subject: [PATCH 16/24] one --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index d0542e0..f3059db 100644 --- a/Package.swift +++ b/Package.swift @@ -12,8 +12,8 @@ let package = Package( targets: [ .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], - path: "./Sources", + path: ".", exclude: [], - sources: ["Sources"]) + sources: ["./Sources"]) ] ) From 9d15790eea22cfde680d0d97d4eade7ac8a01fa9 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:19:00 +0000 Subject: [PATCH 17/24] last --- Package.swift | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index f3059db..784c5b4 100644 --- a/Package.swift +++ b/Package.swift @@ -12,8 +12,8 @@ let package = Package( targets: [ .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], - path: ".", + path: "./Sources", exclude: [], - sources: ["./Sources"]) + sources: nil) ] ) From f77502d6588b4bb5c33acf8cf1c0aea6405adbc4 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:25:11 +0000 Subject: [PATCH 18/24] fix import --- Sources/Transport.swift | 1 + 1 file changed, 1 insertion(+) diff --git a/Sources/Transport.swift b/Sources/Transport.swift index 7e91054..85fc909 100644 --- a/Sources/Transport.swift +++ b/Sources/Transport.swift @@ -5,6 +5,7 @@ // Created by Haris Amin on 2/20/16. // // +import Foundation public enum DisconnectionType { case connectionLost(reason: String, code: UInt16) From c33f1f599597f0d216a8ea358d0bd08e7d7813a1 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:36:16 +0000 Subject: [PATCH 19/24] again --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 784c5b4..673c979 100644 --- a/Package.swift +++ b/Package.swift @@ -14,6 +14,6 @@ let package = Package( dependencies: [._byNameItem(name: "Starscream")], path: "./Sources", exclude: [], - sources: nil) + sources: ["./Sources"]) ] ) From e119b8645dd2dd26178dca12b1b25059b2ebc054 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:37:38 +0000 Subject: [PATCH 20/24] yup --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 673c979..f3059db 100644 --- a/Package.swift +++ b/Package.swift @@ -12,7 +12,7 @@ let package = Package( targets: [ .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], - path: "./Sources", + path: ".", exclude: [], sources: ["./Sources"]) ] From e15f3d42364e3dc57fa6ceb45bd96721a490d332 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:38:37 +0000 Subject: [PATCH 21/24] add excludes --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index f3059db..688b12a 100644 --- a/Package.swift +++ b/Package.swift @@ -13,7 +13,7 @@ let package = Package( .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], path: ".", - exclude: [], + exclude: ["Pod", "Example"], sources: ["./Sources"]) ] ) From 5c8f2cb4d740e46dcec3e2eb86607c6827e5de3b Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:48:13 +0000 Subject: [PATCH 22/24] last time --- Package.swift | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/Package.swift b/Package.swift index 688b12a..4a288ed 100644 --- a/Package.swift +++ b/Package.swift @@ -11,9 +11,6 @@ let package = Package( ], targets: [ .target(name: "FayeSwift", - dependencies: [._byNameItem(name: "Starscream")], - path: ".", - exclude: ["Pod", "Example"], - sources: ["./Sources"]) + sources: ["Sources"]) ] ) From 21b0dec417aac6b7b072969cb13e7a4c55c7b583 Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 16:51:11 +0000 Subject: [PATCH 23/24] now --- Package.swift | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/Package.swift b/Package.swift index 4a288ed..55e8b05 100644 --- a/Package.swift +++ b/Package.swift @@ -11,6 +11,6 @@ let package = Package( ], targets: [ .target(name: "FayeSwift", - sources: ["Sources"]) + path: "Sources") ] ) From 3787ee294cfcc4b79f25219d5525a9226dd0c74a Mon Sep 17 00:00:00 2001 From: Ronan Mchugh Date: Fri, 27 Mar 2020 17:03:11 +0000 Subject: [PATCH 24/24] ok --- Package.swift | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/Package.swift b/Package.swift index 55e8b05..f1a1a7e 100644 --- a/Package.swift +++ b/Package.swift @@ -10,7 +10,6 @@ let package = Package( .package(url: "https://github.com/daltoniam/Starscream.git", from: "4.0.0") ], targets: [ - .target(name: "FayeSwift", - path: "Sources") + .target(name: "FayeSwift", dependencies: [._byNameItem(name: "Starscream")], path: "Sources") ] )