This commit is contained in:
Andrey Blinov
2019-11-20 01:13:59 +07:00
parent e78c12a6d3
commit a5f2dcfcd5
54 changed files with 2065 additions and 80 deletions

1
Example/.idea/.name generated Normal file
View File

@@ -0,0 +1 @@
OnlineChatSdk

2
Example/.idea/Example.iml generated Normal file
View File

@@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8"?>
<module classpath="AppCode" type="CIDR_MODULE" version="4" />

11
Example/.idea/misc.xml generated Normal file
View File

@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CidrRootsConfiguration">
<libraryRoots>
<file path="$PROJECT_DIR$/Pods" />
</libraryRoots>
</component>
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
</project>

8
Example/.idea/modules.xml generated Normal file
View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/Example.iml" filepath="$PROJECT_DIR$/.idea/Example.iml" />
</modules>
</component>
</project>

View File

@@ -0,0 +1,11 @@
<component name="ProjectRunConfigurationManager">
<configuration default="false" name="OnlineChatSdk-Example" type="AppleRunConfiguration" factoryName="Application" PASS_PARENT_ENVS_2="true" PROJECT_NAME="OnlineChatSdk" TARGET_NAME="OnlineChatSdk_Example" CONFIG_NAME="Debug" SCHEME_NAME="OnlineChatSdk-Example" IS_LOCATION_SIMULATION_ALLOWED="true" APPLICATION_LANGUAGE="IDELaunchSchemeLanguageUseSystemLanguage" APPLICATION_REGION="" RUN_TARGET_PROJECT_NAME="OnlineChatSdk" RUN_TARGET_NAME="OnlineChatSdk_Example" MAKE_ACTIVE="TRUE" SHOULD_DEBUG_EXTENSIONS="false">
<EXTENSION ID="org.jetbrains.appcode.reveal.RevealRunConfigurationExtension">
<REVEAL_SETTINGS autoInject="false" autoInstall="true" askToEnableAutoInstall="true" />
</EXTENSION>
<embedded_app_extension_list />
<method v="2">
<option name="com.jetbrains.cidr.execution.CidrBuildBeforeRunTaskProvider$BuildBeforeRunTask" enabled="true" />
</method>
</configuration>
</component>

6
Example/.idea/vcs.xml generated Normal file
View File

@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$/.." vcs="Git" />
</component>
</project>

4
Example/.idea/xcode.xml generated Normal file
View File

@@ -0,0 +1,4 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="XcodeMetaData" IGNORE_OUTSIDE_FILES="true" PROJECT_FILE="$PROJECT_DIR$/OnlineChatSdk.xcworkspace" COCOAPODS_PROJECT_EXCLUDED="true" />
</project>

View File

@@ -8,6 +8,7 @@
/* Begin PBXBuildFile section */ /* Begin PBXBuildFile section */
1677A5E4F97DA7B46BF66DE9 /* Pods_OnlineChatSdk_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3287FCAB23B414563DF3B97 /* Pods_OnlineChatSdk_Tests.framework */; }; 1677A5E4F97DA7B46BF66DE9 /* Pods_OnlineChatSdk_Tests.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = D3287FCAB23B414563DF3B97 /* Pods_OnlineChatSdk_Tests.framework */; };
4AFC4ED62380393100311823 /* DemoController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 4AFC4ED52380393100311823 /* DemoController.swift */; };
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; }; 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD51AFB9204008FA782 /* AppDelegate.swift */; };
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; }; 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 607FACD71AFB9204008FA782 /* ViewController.swift */; };
607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; }; 607FACDB1AFB9204008FA782 /* Main.storyboard in Resources */ = {isa = PBXBuildFile; fileRef = 607FACD91AFB9204008FA782 /* Main.storyboard */; };
@@ -29,6 +30,7 @@
/* Begin PBXFileReference section */ /* Begin PBXFileReference section */
3D829D3F17DF569E648A2B1B /* Pods-OnlineChatSdk_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Example.debug.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example.debug.xcconfig"; sourceTree = "<group>"; }; 3D829D3F17DF569E648A2B1B /* Pods-OnlineChatSdk_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Example.debug.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example.debug.xcconfig"; sourceTree = "<group>"; };
4AFC4ED52380393100311823 /* DemoController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DemoController.swift; sourceTree = "<group>"; };
607FACD01AFB9204008FA782 /* OnlineChatSdk_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OnlineChatSdk_Example.app; sourceTree = BUILT_PRODUCTS_DIR; }; 607FACD01AFB9204008FA782 /* OnlineChatSdk_Example.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = OnlineChatSdk_Example.app; sourceTree = BUILT_PRODUCTS_DIR; };
607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 607FACD41AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; 607FACD51AFB9204008FA782 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
@@ -40,12 +42,12 @@
607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; }; 607FACEA1AFB9204008FA782 /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; }; 607FACEB1AFB9204008FA782 /* Tests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Tests.swift; sourceTree = "<group>"; };
7BB13430D00A990F7C5E3735 /* Pods-OnlineChatSdk_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Example.release.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example.release.xcconfig"; sourceTree = "<group>"; }; 7BB13430D00A990F7C5E3735 /* Pods-OnlineChatSdk_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Example.release.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example.release.xcconfig"; sourceTree = "<group>"; };
8E6D4BEC8016AE957173DD22 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; }; 8E6D4BEC8016AE957173DD22 /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = LICENSE; path = ../LICENSE; sourceTree = "<group>"; };
9D2ECC2E80F036AF352E04FC /* Pods_OnlineChatSdk_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OnlineChatSdk_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; }; 9D2ECC2E80F036AF352E04FC /* Pods_OnlineChatSdk_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OnlineChatSdk_Example.framework; sourceTree = BUILT_PRODUCTS_DIR; };
A2C430FFD3BCBC25E1E6E101 /* OnlineChatSdk.podspec */ = {isa = PBXFileReference; includeInIndex = 1; name = OnlineChatSdk.podspec; path = ../OnlineChatSdk.podspec; sourceTree = "<group>"; }; A2C430FFD3BCBC25E1E6E101 /* OnlineChatSdk.podspec */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; name = OnlineChatSdk.podspec; path = ../OnlineChatSdk.podspec; sourceTree = "<group>"; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
A8E7F2B116B7D61FCC8DAE68 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Tests.debug.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests.debug.xcconfig"; sourceTree = "<group>"; }; A8E7F2B116B7D61FCC8DAE68 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Tests.debug.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests.debug.xcconfig"; sourceTree = "<group>"; };
AADCD53C7E43EB604258365C /* Pods-OnlineChatSdk_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Tests.release.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests.release.xcconfig"; sourceTree = "<group>"; }; AADCD53C7E43EB604258365C /* Pods-OnlineChatSdk_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-OnlineChatSdk_Tests.release.xcconfig"; path = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests.release.xcconfig"; sourceTree = "<group>"; };
B13516076E6B5977CDF46840 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; name = README.md; path = ../README.md; sourceTree = "<group>"; }; B13516076E6B5977CDF46840 /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = net.daringfireball.markdown; name = README.md; path = ../README.md; sourceTree = "<group>"; };
D3287FCAB23B414563DF3B97 /* Pods_OnlineChatSdk_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OnlineChatSdk_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; }; D3287FCAB23B414563DF3B97 /* Pods_OnlineChatSdk_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OnlineChatSdk_Tests.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
@@ -77,7 +79,6 @@
A8E7F2B116B7D61FCC8DAE68 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */, A8E7F2B116B7D61FCC8DAE68 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */,
AADCD53C7E43EB604258365C /* Pods-OnlineChatSdk_Tests.release.xcconfig */, AADCD53C7E43EB604258365C /* Pods-OnlineChatSdk_Tests.release.xcconfig */,
); );
name = Pods;
path = Pods; path = Pods;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
@@ -111,6 +112,7 @@
607FACDC1AFB9204008FA782 /* Images.xcassets */, 607FACDC1AFB9204008FA782 /* Images.xcassets */,
607FACDE1AFB9204008FA782 /* LaunchScreen.xib */, 607FACDE1AFB9204008FA782 /* LaunchScreen.xib */,
607FACD31AFB9204008FA782 /* Supporting Files */, 607FACD31AFB9204008FA782 /* Supporting Files */,
4AFC4ED52380393100311823 /* DemoController.swift */,
); );
name = "Example for OnlineChatSdk"; name = "Example for OnlineChatSdk";
path = OnlineChatSdk; path = OnlineChatSdk;
@@ -190,7 +192,6 @@
607FACE11AFB9204008FA782 /* Sources */, 607FACE11AFB9204008FA782 /* Sources */,
607FACE21AFB9204008FA782 /* Frameworks */, 607FACE21AFB9204008FA782 /* Frameworks */,
607FACE31AFB9204008FA782 /* Resources */, 607FACE31AFB9204008FA782 /* Resources */,
8DB72DEFA4840925B22D639F /* [CP] Embed Pods Frameworks */,
); );
buildRules = ( buildRules = (
); );
@@ -209,23 +210,23 @@
isa = PBXProject; isa = PBXProject;
attributes = { attributes = {
LastSwiftUpdateCheck = 0830; LastSwiftUpdateCheck = 0830;
LastUpgradeCheck = 0830; LastUpgradeCheck = 1120;
ORGANIZATIONNAME = CocoaPods; ORGANIZATIONNAME = CocoaPods;
TargetAttributes = { TargetAttributes = {
607FACCF1AFB9204008FA782 = { 607FACCF1AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1; CreatedOnToolsVersion = 6.3.1;
LastSwiftMigration = 0900; LastSwiftMigration = 1120;
}; };
607FACE41AFB9204008FA782 = { 607FACE41AFB9204008FA782 = {
CreatedOnToolsVersion = 6.3.1; CreatedOnToolsVersion = 6.3.1;
LastSwiftMigration = 0900; LastSwiftMigration = 1120;
TestTargetID = 607FACCF1AFB9204008FA782; TestTargetID = 607FACCF1AFB9204008FA782;
}; };
}; };
}; };
buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "OnlineChatSdk" */; buildConfigurationList = 607FACCB1AFB9204008FA782 /* Build configuration list for PBXProject "OnlineChatSdk" */;
compatibilityVersion = "Xcode 3.2"; compatibilityVersion = "Xcode 3.2";
developmentRegion = English; developmentRegion = en;
hasScannedForEncodings = 0; hasScannedForEncodings = 0;
knownRegions = ( knownRegions = (
en, en,
@@ -285,24 +286,6 @@
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"; 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; showEnvVarsInLog = 0;
}; };
8DB72DEFA4840925B22D639F /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputPaths = (
"${PODS_ROOT}/Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests-frameworks.sh",
"${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework",
);
name = "[CP] Embed Pods Frameworks";
outputPaths = (
"${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBSnapshotTestCase.framework",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "\"${PODS_ROOT}/Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests-frameworks.sh\"\n";
showEnvVarsInLog = 0;
};
8E8B3272935672CDB865BC6F /* [CP] Embed Pods Frameworks */ = { 8E8B3272935672CDB865BC6F /* [CP] Embed Pods Frameworks */ = {
isa = PBXShellScriptBuildPhase; isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
@@ -350,6 +333,7 @@
isa = PBXSourcesBuildPhase; isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647; buildActionMask = 2147483647;
files = ( files = (
4AFC4ED62380393100311823 /* DemoController.swift in Sources */,
607FACD81AFB9204008FA782 /* ViewController.swift in Sources */, 607FACD81AFB9204008FA782 /* ViewController.swift in Sources */,
607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */, 607FACD61AFB9204008FA782 /* AppDelegate.swift in Sources */,
); );
@@ -397,6 +381,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -405,12 +390,14 @@
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES; CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_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_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -450,6 +437,7 @@
isa = XCBuildConfiguration; isa = XCBuildConfiguration;
buildSettings = { buildSettings = {
ALWAYS_SEARCH_USER_PATHS = NO; ALWAYS_SEARCH_USER_PATHS = NO;
CLANG_ANALYZER_LOCALIZABILITY_NONLOCALIZED = YES;
CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x"; CLANG_CXX_LANGUAGE_STANDARD = "gnu++0x";
CLANG_CXX_LIBRARY = "libc++"; CLANG_CXX_LIBRARY = "libc++";
CLANG_ENABLE_MODULES = YES; CLANG_ENABLE_MODULES = YES;
@@ -458,12 +446,14 @@
CLANG_WARN_BOOL_CONVERSION = YES; CLANG_WARN_BOOL_CONVERSION = YES;
CLANG_WARN_COMMA = YES; CLANG_WARN_COMMA = YES;
CLANG_WARN_CONSTANT_CONVERSION = YES; CLANG_WARN_CONSTANT_CONVERSION = YES;
CLANG_WARN_DEPRECATED_OBJC_IMPLEMENTATIONS = YES;
CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR; CLANG_WARN_DIRECT_OBJC_ISA_USAGE = YES_ERROR;
CLANG_WARN_EMPTY_BODY = YES; CLANG_WARN_EMPTY_BODY = YES;
CLANG_WARN_ENUM_CONVERSION = YES; CLANG_WARN_ENUM_CONVERSION = YES;
CLANG_WARN_INFINITE_RECURSION = YES; CLANG_WARN_INFINITE_RECURSION = YES;
CLANG_WARN_INT_CONVERSION = YES; CLANG_WARN_INT_CONVERSION = YES;
CLANG_WARN_NON_LITERAL_NULL_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_LITERAL_CONVERSION = YES;
CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR; CLANG_WARN_OBJC_ROOT_CLASS = YES_ERROR;
CLANG_WARN_RANGE_LOOP_ANALYSIS = YES; CLANG_WARN_RANGE_LOOP_ANALYSIS = YES;
@@ -503,7 +493,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0; SWIFT_VERSION = 5.0;
}; };
name = Debug; name = Debug;
}; };
@@ -518,7 +508,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.demo.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0; SWIFT_VERSION = 5.0;
}; };
name = Release; name = Release;
}; };
@@ -539,7 +529,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0; SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OnlineChatSdk_Example.app/OnlineChatSdk_Example"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OnlineChatSdk_Example.app/OnlineChatSdk_Example";
}; };
name = Debug; name = Debug;
@@ -557,7 +547,7 @@
PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)"; PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.$(PRODUCT_NAME:rfc1034identifier)";
PRODUCT_NAME = "$(TARGET_NAME)"; PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_SWIFT3_OBJC_INFERENCE = Default; SWIFT_SWIFT3_OBJC_INFERENCE = Default;
SWIFT_VERSION = 4.0; SWIFT_VERSION = 5.0;
TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OnlineChatSdk_Example.app/OnlineChatSdk_Example"; TEST_HOST = "$(BUILT_PRODUCTS_DIR)/OnlineChatSdk_Example.app/OnlineChatSdk_Example";
}; };
name = Release; name = Release;

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -1,6 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<Scheme <Scheme
LastUpgradeVersion = "0900" LastUpgradeVersion = "1120"
version = "1.3"> version = "1.3">
<BuildAction <BuildAction
parallelizeBuildables = "YES" parallelizeBuildables = "YES"
@@ -40,8 +40,16 @@
buildConfiguration = "Debug" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
shouldUseLaunchSchemeArgsEnv = "YES"> shouldUseLaunchSchemeArgsEnv = "YES">
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "OnlineChatSdk_Example.app"
BlueprintName = "OnlineChatSdk_Example"
ReferencedContainer = "container:OnlineChatSdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<Testables> <Testables>
<TestableReference <TestableReference
skipped = "NO"> skipped = "NO">
@@ -54,23 +62,11 @@
</BuildableReference> </BuildableReference>
</TestableReference> </TestableReference>
</Testables> </Testables>
<MacroExpansion>
<BuildableReference
BuildableIdentifier = "primary"
BlueprintIdentifier = "607FACCF1AFB9204008FA782"
BuildableName = "OnlineChatSdk_Example.app"
BlueprintName = "OnlineChatSdk_Example"
ReferencedContainer = "container:OnlineChatSdk.xcodeproj">
</BuildableReference>
</MacroExpansion>
<AdditionalOptions>
</AdditionalOptions>
</TestAction> </TestAction>
<LaunchAction <LaunchAction
buildConfiguration = "Debug" buildConfiguration = "Debug"
selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB" selectedDebuggerIdentifier = "Xcode.DebuggerFoundation.Debugger.LLDB"
selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB" selectedLauncherIdentifier = "Xcode.DebuggerFoundation.Launcher.LLDB"
language = ""
launchStyle = "0" launchStyle = "0"
useCustomWorkingDirectory = "NO" useCustomWorkingDirectory = "NO"
ignoresPersistentStateOnLaunch = "NO" ignoresPersistentStateOnLaunch = "NO"
@@ -87,8 +83,6 @@
ReferencedContainer = "container:OnlineChatSdk.xcodeproj"> ReferencedContainer = "container:OnlineChatSdk.xcodeproj">
</BuildableReference> </BuildableReference>
</BuildableProductRunnable> </BuildableProductRunnable>
<AdditionalOptions>
</AdditionalOptions>
</LaunchAction> </LaunchAction>
<ProfileAction <ProfileAction
buildConfiguration = "Release" buildConfiguration = "Release"

View File

@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "group:OnlineChatSdk.xcodeproj">
</FileRef>
<FileRef
location = "group:Pods/Pods.xcodeproj">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -14,7 +14,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
var window: UIWindow? var window: UIWindow?
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool { func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
// Override point for customization after application launch. // Override point for customization after application launch.
return true return true
} }
@@ -40,7 +40,4 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
func applicationWillTerminate(_ application: UIApplication) { func applicationWillTerminate(_ application: UIApplication) {
// Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:. // Called when the application is about to terminate. Save data if appropriate. See also applicationDidEnterBackground:.
} }
} }

View File

@@ -1,12 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" launchScreen="YES" useTraitCollections="YES" colorMatched="YES">
<device id="retina4_7" orientation="portrait"> <device id="retina4_7" orientation="portrait" appearance="light"/>
<adaptation id="fullscreen"/>
</device>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
<capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<objects> <objects>
@@ -16,14 +13,8 @@
<rect key="frame" x="0.0" y="0.0" width="480" height="480"/> <rect key="frame" x="0.0" y="0.0" width="480" height="480"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/> <autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<subviews> <subviews>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text=" Copyright (c) 2015 CocoaPods. All rights reserved." textAlignment="center" lineBreakMode="tailTruncation" baselineAdjustment="alignBaselines" minimumFontSize="9" translatesAutoresizingMaskIntoConstraints="NO" id="8ie-xW-0ye">
<rect key="frame" x="20" y="439" width="441" height="21"/>
<fontDescription key="fontDescription" type="system" pointSize="17"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/>
</label>
<label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="OnlineChatSdk" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX"> <label opaque="NO" clipsSubviews="YES" userInteractionEnabled="NO" contentMode="left" horizontalHuggingPriority="251" verticalHuggingPriority="251" text="OnlineChatSdk" textAlignment="center" lineBreakMode="middleTruncation" baselineAdjustment="alignBaselines" minimumFontSize="18" translatesAutoresizingMaskIntoConstraints="NO" id="kId-c2-rCX">
<rect key="frame" x="20" y="140" width="441" height="43"/> <rect key="frame" x="20" y="139.5" width="440" height="43"/>
<fontDescription key="fontDescription" type="boldSystem" pointSize="36"/> <fontDescription key="fontDescription" type="boldSystem" pointSize="36"/>
<color key="textColor" cocoaTouchSystemColor="darkTextColor"/> <color key="textColor" cocoaTouchSystemColor="darkTextColor"/>
<nil key="highlightedColor"/> <nil key="highlightedColor"/>
@@ -33,9 +24,6 @@
<constraints> <constraints>
<constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/> <constraint firstItem="kId-c2-rCX" firstAttribute="centerY" secondItem="iN0-l3-epB" secondAttribute="bottom" multiplier="1/3" constant="1" id="5cJ-9S-tgC"/>
<constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/> <constraint firstAttribute="centerX" secondItem="kId-c2-rCX" secondAttribute="centerX" id="Koa-jz-hwk"/>
<constraint firstAttribute="bottom" secondItem="8ie-xW-0ye" secondAttribute="bottom" constant="20" id="Kzo-t9-V3l"/>
<constraint firstItem="8ie-xW-0ye" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="MfP-vx-nX0"/>
<constraint firstAttribute="centerX" secondItem="8ie-xW-0ye" secondAttribute="centerX" id="ZEH-qu-HZ9"/>
<constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/> <constraint firstItem="kId-c2-rCX" firstAttribute="leading" secondItem="iN0-l3-epB" secondAttribute="leading" constant="20" symbolic="YES" id="fvb-Df-36g"/>
</constraints> </constraints>
<nil key="simulatedStatusBarMetrics"/> <nil key="simulatedStatusBarMetrics"/>

View File

@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?> <?xml version="1.0" encoding="UTF-8"?>
<document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="13771" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="vXZ-lx-hvc"> <document type="com.apple.InterfaceBuilder3.CocoaTouch.Storyboard.XIB" version="3.0" toolsVersion="15505" targetRuntime="iOS.CocoaTouch" propertyAccessControl="none" useAutolayout="YES" useTraitCollections="YES" colorMatched="YES" initialViewController="CF5-KG-5NR">
<device id="retina4_7" orientation="portrait"> <device id="retina4_7" orientation="portrait" appearance="light"/>
<adaptation id="fullscreen"/>
</device>
<dependencies> <dependencies>
<deployment identifier="iOS"/> <deployment identifier="iOS"/>
<plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="13772"/> <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="15510"/>
<capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/> <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies> </dependencies>
<scenes> <scenes>
@@ -20,11 +18,60 @@
<view key="view" contentMode="scaleToFill" id="kh9-bI-dsS"> <view key="view" contentMode="scaleToFill" id="kh9-bI-dsS">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/> <rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/> <autoresizingMask key="autoresizingMask" flexibleMaxX="YES" flexibleMaxY="YES"/>
<subviews>
<button opaque="NO" contentMode="scaleToFill" contentHorizontalAlignment="center" contentVerticalAlignment="center" buttonType="roundedRect" lineBreakMode="middleTruncation" translatesAutoresizingMaskIntoConstraints="NO" id="v79-x1-1At">
<rect key="frame" x="143" y="318.5" width="89" height="30"/>
<state key="normal" title="Открыть чат"/>
<connections>
<action selector="openChat:" destination="vXZ-lx-hvc" eventType="touchUpInside" id="rqs-4r-zx3"/>
</connections>
</button>
</subviews>
<color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/> <color key="backgroundColor" red="1" green="1" blue="1" alpha="1" colorSpace="custom" customColorSpace="sRGB"/>
<constraints>
<constraint firstItem="v79-x1-1At" firstAttribute="centerX" secondItem="kh9-bI-dsS" secondAttribute="centerX" id="3ej-DO-1vr"/>
<constraint firstItem="v79-x1-1At" firstAttribute="centerY" secondItem="kh9-bI-dsS" secondAttribute="centerY" id="PbO-vM-iub"/>
</constraints>
</view> </view>
<navigationItem key="navigationItem" id="nXu-ZY-nre"/>
</viewController> </viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/> <placeholder placeholderIdentifier="IBFirstResponder" id="x5A-6p-PRh" sceneMemberID="firstResponder"/>
</objects> </objects>
<point key="canvasLocation" x="-282" y="0.0"/>
</scene>
<!--Navigation Controller-->
<scene sceneID="LTZ-JJ-4aY">
<objects>
<navigationController id="CF5-KG-5NR" sceneMemberID="viewController">
<navigationBar key="navigationBar" contentMode="scaleToFill" insetsLayoutMarginsFromSafeArea="NO" id="jEK-RZ-gzS">
<rect key="frame" x="0.0" y="0.0" width="375" height="44"/>
<autoresizingMask key="autoresizingMask"/>
</navigationBar>
<connections>
<segue destination="vXZ-lx-hvc" kind="relationship" relationship="rootViewController" id="pW9-jq-ayW"/>
</connections>
</navigationController>
<placeholder placeholderIdentifier="IBFirstResponder" id="2rp-H5-efo" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="-1049" y="0.0"/>
</scene>
<!--Demo Controller-->
<scene sceneID="ZM2-sP-0gs">
<objects>
<viewController storyboardIdentifier="DemoChatController" id="JEl-mq-3dC" customClass="DemoController" customModule="OnlineChatSdk_Example" customModuleProvider="target" sceneMemberID="viewController">
<layoutGuides>
<viewControllerLayoutGuide type="top" id="dsb-8f-mt6"/>
<viewControllerLayoutGuide type="bottom" id="Wcl-xW-9zm"/>
</layoutGuides>
<view key="view" contentMode="scaleToFill" id="u8l-pg-wUQ">
<rect key="frame" x="0.0" y="0.0" width="375" height="667"/>
<autoresizingMask key="autoresizingMask" widthSizable="YES" heightSizable="YES"/>
<color key="backgroundColor" systemColor="systemBackgroundColor" cocoaTouchSystemColor="whiteColor"/>
</view>
</viewController>
<placeholder placeholderIdentifier="IBFirstResponder" id="H6Q-ur-NPy" userLabel="First Responder" customClass="UIResponder" sceneMemberID="firstResponder"/>
</objects>
<point key="canvasLocation" x="591" y="0.0"/>
</scene> </scene>
</scenes> </scenes>
</document> </document>

View File

@@ -0,0 +1,51 @@
//
// DemoController.swift
// OnlineChatSdk_Example
//
// Created by Andrew Blinov on 16.11.2019.
// Copyright © 2019 CocoaPods. All rights reserved.
//
import Foundation
import WebKit
import OnlineChatSdk
class DemoController: ChatController {
override func viewDidLoad() {
super.viewDidLoad()
load("593adecd804fc4e32e7e865d659f2356", "me-talk.ru")
}
override func onClientId(_ clientId: String) {
}
override func onSendRate(_ data: NSDictionary) {
}
override func onContactsUpdated(_ data: NSDictionary) {
}
override func onClientSendMessage(_ data: NSDictionary) {
}
override func onOperatorSendMessage(_ data: NSDictionary) {
super.onOperatorSendMessage(data)
}
override func onClientMakeSubscribe(_ data: NSDictionary) {
}
override func onEvent(_ name: String, _ data: NSDictionary) {
}
override func getContactsCallback(_ data: NSDictionary) {
}
}

View File

@@ -14,11 +14,14 @@ class ViewController: UIViewController {
super.viewDidLoad() super.viewDidLoad()
// Do any additional setup after loading the view, typically from a nib. // Do any additional setup after loading the view, typically from a nib.
} }
@IBAction func openChat(_ sender: Any) {
let chatController = storyboard?.instantiateViewController(withIdentifier: "DemoChatController") as! DemoController
navigationController?.pushViewController(chatController, animated: true)
}
override func didReceiveMemoryWarning() { override func didReceiveMemoryWarning() {
super.didReceiveMemoryWarning() super.didReceiveMemoryWarning()
// Dispose of any resources that can be recreated. // Dispose of any resources that can be recreated.
} }
} }

View File

@@ -5,7 +5,6 @@ target 'OnlineChatSdk_Example' do
target 'OnlineChatSdk_Tests' do target 'OnlineChatSdk_Tests' do
inherit! :search_paths inherit! :search_paths
pod 'FBSnapshotTestCase' , '~> 2.1.4'
end end
end end

16
Example/Podfile.lock Normal file
View File

@@ -0,0 +1,16 @@
PODS:
- OnlineChatSdk (0.0.1)
DEPENDENCIES:
- OnlineChatSdk (from `../`)
EXTERNAL SOURCES:
OnlineChatSdk:
:path: "../"
SPEC CHECKSUMS:
OnlineChatSdk: 53b5282799179bee91b268afd8f70aa17e14f0c3
PODFILE CHECKSUM: a6397bf95fd98ccfab272ed4cd7523c15ca4cd1f
COCOAPODS: 1.8.4

View File

@@ -0,0 +1,22 @@
{
"name": "OnlineChatSdk",
"version": "0.0.1",
"summary": "A short description of OnlineChatSdk.",
"description": "TODO: Add long description of the pod here.",
"homepage": "https://github.com/bekannax/OnlineChatSdk-Swift",
"license": {
"type": "MIT",
"file": "LICENSE"
},
"authors": {
"bekannax": "bekannax@gmail.com"
},
"source": {
"git": "https://github.com/bekannax/OnlineChatSdk-Swift.git",
"tag": "0.0.1"
},
"platforms": {
"ios": "8.0"
},
"source_files": "OnlineChatSdk/Classes/**/*"
}

16
Example/Pods/Manifest.lock generated Normal file
View File

@@ -0,0 +1,16 @@
PODS:
- OnlineChatSdk (0.0.1)
DEPENDENCIES:
- OnlineChatSdk (from `../`)
EXTERNAL SOURCES:
OnlineChatSdk:
:path: "../"
SPEC CHECKSUMS:
OnlineChatSdk: 53b5282799179bee91b268afd8f70aa17e14f0c3
PODFILE CHECKSUM: a6397bf95fd98ccfab272ed4cd7523c15ca4cd1f
COCOAPODS: 1.8.4

View File

@@ -0,0 +1,777 @@
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 46;
objects = {
/* Begin PBXBuildFile section */
0A91DF6F84B8ADDA1B6B57B93F651F43 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
4E480B796AAF0D0485296B48F2ABD33E /* OnlineChatSdk-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = C0111B871B5D52E9B55DA76532F8F2A2 /* OnlineChatSdk-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
7587E97BF506974AF6F6A49B78EF08AF /* Pods-OnlineChatSdk_Example-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = A922434E0906B6862B74C406DC2376ED /* Pods-OnlineChatSdk_Example-dummy.m */; };
877616D4221488CAAC0CCB65106F92EF /* Command.swift in Sources */ = {isa = PBXBuildFile; fileRef = ABCF315DC34B0D65FDC06BD5C47E4537 /* Command.swift */; };
8A0B9EB8991D1B53E1CCC6C966D1BA52 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
8A4D7BAAB47A2BC73DB2649DC570DE6E /* Pods-OnlineChatSdk_Tests-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = 8ECBD7A2D1C2D4C8EA1D7D37BA41D12B /* Pods-OnlineChatSdk_Tests-dummy.m */; };
8C8125106158BBAF730EC093C787BD72 /* Foundation.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */; };
A8D871164B5ED343D9FF5AB0EBE88192 /* Pods-OnlineChatSdk_Example-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 575DA55EF4BC56E2E7F9127ABE7A28E3 /* Pods-OnlineChatSdk_Example-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
B61DE444BE1EB7C89513A66F1599ED13 /* ChatController.swift in Sources */ = {isa = PBXBuildFile; fileRef = 09AEF9BCA9F7B3A9543A229C56609432 /* ChatController.swift */; };
D57077F1B4219D4B130032D181180A24 /* ChatApi.swift in Sources */ = {isa = PBXBuildFile; fileRef = 9B7932088C0D7E01A53DA4E3FE510880 /* ChatApi.swift */; };
E755A5301CE9F36554E6BED5D1C46CF5 /* OnlineChatSdk-dummy.m in Sources */ = {isa = PBXBuildFile; fileRef = D7DF4591C78213A8775F1ACE153960EA /* OnlineChatSdk-dummy.m */; };
FFFDD6C7C2E28FF39D79303DB06AE023 /* Pods-OnlineChatSdk_Tests-umbrella.h in Headers */ = {isa = PBXBuildFile; fileRef = 1CEA9A7827573BC146B1DB56F7574206 /* Pods-OnlineChatSdk_Tests-umbrella.h */; settings = {ATTRIBUTES = (Public, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
D6705DFE1A69E0869352E35AEB0D94BD /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = EE49958FF486FC5404A5724C7D94C8D0;
remoteInfo = "Pods-OnlineChatSdk_Example";
};
FDEE491E399E8BEAE907A42158C78B11 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = BFDFE7DC352907FC980B868725387E98 /* Project object */;
proxyType = 1;
remoteGlobalIDString = 703A72276AA799D9F6776AF21F9FBBC1;
remoteInfo = OnlineChatSdk;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
00DDA13354DCA4F40F1997FDADA7CA42 /* OnlineChatSdk.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = OnlineChatSdk.framework; path = OnlineChatSdk.framework; sourceTree = BUILT_PRODUCTS_DIR; };
01A4A5141B00DF728F32412BCEB66D36 /* Pods-OnlineChatSdk_Example-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-OnlineChatSdk_Example-acknowledgements.plist"; sourceTree = "<group>"; };
09AEF9BCA9F7B3A9543A229C56609432 /* ChatController.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChatController.swift; path = OnlineChatSdk/Classes/ChatController.swift; sourceTree = "<group>"; };
14615AA05F95CA8B36F247500AEC3491 /* OnlineChatSdk.podspec */ = {isa = PBXFileReference; explicitFileType = text.script.ruby; includeInIndex = 1; indentWidth = 2; lastKnownFileType = text; path = OnlineChatSdk.podspec; sourceTree = "<group>"; tabWidth = 2; xcLanguageSpecificationIdentifier = xcode.lang.ruby; };
18FAAAB49C908B7AEC33FF4BAA2A71A3 /* Pods-OnlineChatSdk_Tests-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-OnlineChatSdk_Tests-acknowledgements.markdown"; sourceTree = "<group>"; };
1CEA9A7827573BC146B1DB56F7574206 /* Pods-OnlineChatSdk_Tests-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-OnlineChatSdk_Tests-umbrella.h"; sourceTree = "<group>"; };
2A20AC005391A9D1327605199CFC4ECC /* README.md */ = {isa = PBXFileReference; includeInIndex = 1; path = README.md; sourceTree = "<group>"; };
2F1CED22613F2AAE9BD6A2C3831E4DA6 /* Pods-OnlineChatSdk_Example-acknowledgements.markdown */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text; path = "Pods-OnlineChatSdk_Example-acknowledgements.markdown"; sourceTree = "<group>"; };
3212113385A8FBBDB272BD23C409FF61 /* 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; };
325DA660D42FA1E563623E4E3CDB13C3 /* Pods-OnlineChatSdk_Example.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OnlineChatSdk_Example.debug.xcconfig"; sourceTree = "<group>"; };
3E4270A75BF9FC99FDED4F358A946957 /* Pods-OnlineChatSdk_Example.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OnlineChatSdk_Example.release.xcconfig"; sourceTree = "<group>"; };
3F9D8182090913B398FB960F9C47D364 /* Pods_OnlineChatSdk_Example.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_OnlineChatSdk_Example.framework; path = "Pods-OnlineChatSdk_Example.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
4F0D5C8AD6FC51F8A0A965EA5CC573BD /* Pods-OnlineChatSdk_Example-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-OnlineChatSdk_Example-Info.plist"; sourceTree = "<group>"; };
54E37E458C0AC465CBB829C9E07E70E9 /* Pods_OnlineChatSdk_Tests.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; name = Pods_OnlineChatSdk_Tests.framework; path = "Pods-OnlineChatSdk_Tests.framework"; sourceTree = BUILT_PRODUCTS_DIR; };
575DA55EF4BC56E2E7F9127ABE7A28E3 /* Pods-OnlineChatSdk_Example-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "Pods-OnlineChatSdk_Example-umbrella.h"; sourceTree = "<group>"; };
57A58A24AE74BA497984E7E58FE91E86 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OnlineChatSdk_Tests.debug.xcconfig"; sourceTree = "<group>"; };
66CCC082299575BA547CEB3CEDE955A4 /* OnlineChatSdk-prefix.pch */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OnlineChatSdk-prefix.pch"; sourceTree = "<group>"; };
7AC6161C36FC958B693D919BC395D788 /* Pods-OnlineChatSdk_Tests.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = "Pods-OnlineChatSdk_Tests.release.xcconfig"; sourceTree = "<group>"; };
7BB36BD6A86A14876EAB570446FC3C67 /* Pods-OnlineChatSdk_Tests-acknowledgements.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-OnlineChatSdk_Tests-acknowledgements.plist"; sourceTree = "<group>"; };
8ECBD7A2D1C2D4C8EA1D7D37BA41D12B /* Pods-OnlineChatSdk_Tests-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-OnlineChatSdk_Tests-dummy.m"; sourceTree = "<group>"; };
95BAEA0C56516C312821C0AE97980D1F /* OnlineChatSdk-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "OnlineChatSdk-Info.plist"; sourceTree = "<group>"; };
996B4B332409D7E7FA09CC4B2D826C45 /* OnlineChatSdk.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; path = OnlineChatSdk.xcconfig; sourceTree = "<group>"; };
9B7932088C0D7E01A53DA4E3FE510880 /* ChatApi.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = ChatApi.swift; path = OnlineChatSdk/Classes/ChatApi.swift; sourceTree = "<group>"; };
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; };
A47B952EB811DA610A668204CBFABD37 /* Pods-OnlineChatSdk_Example.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-OnlineChatSdk_Example.modulemap"; sourceTree = "<group>"; };
A922434E0906B6862B74C406DC2376ED /* Pods-OnlineChatSdk_Example-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "Pods-OnlineChatSdk_Example-dummy.m"; sourceTree = "<group>"; };
ABCF315DC34B0D65FDC06BD5C47E4537 /* Command.swift */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.swift; name = Command.swift; path = OnlineChatSdk/Classes/Command.swift; sourceTree = "<group>"; };
C0111B871B5D52E9B55DA76532F8F2A2 /* OnlineChatSdk-umbrella.h */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.h; path = "OnlineChatSdk-umbrella.h"; sourceTree = "<group>"; };
CF4B443DBD84B6D63C5835EE5161A81C /* LICENSE */ = {isa = PBXFileReference; includeInIndex = 1; path = LICENSE; sourceTree = "<group>"; };
D26B1FE0FAD5C1B7F2E561F5384FB7A4 /* Pods-OnlineChatSdk_Tests-Info.plist */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.plist.xml; path = "Pods-OnlineChatSdk_Tests-Info.plist"; sourceTree = "<group>"; };
D7DF4591C78213A8775F1ACE153960EA /* OnlineChatSdk-dummy.m */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.c.objc; path = "OnlineChatSdk-dummy.m"; sourceTree = "<group>"; };
DD9F6331BA9B7BF7C245D8AF59C00335 /* Pods-OnlineChatSdk_Tests.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = "Pods-OnlineChatSdk_Tests.modulemap"; sourceTree = "<group>"; };
DED0F223E5DC4303A4782D3ACB15A64F /* OnlineChatSdk.modulemap */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = sourcecode.module; path = OnlineChatSdk.modulemap; sourceTree = "<group>"; };
FEE534B9BD577A51E2BE7BC4CA07E4B6 /* Pods-OnlineChatSdk_Example-frameworks.sh */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.script.sh; path = "Pods-OnlineChatSdk_Example-frameworks.sh"; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
78614699E128AB03F6805700A4F2D50D /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
0A91DF6F84B8ADDA1B6B57B93F651F43 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
BE98E545D5088AD5FD8DC3122E54E041 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8A0B9EB8991D1B53E1CCC6C966D1BA52 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E144FB3DE4B09B3C96859C17A77CF1C1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
8C8125106158BBAF730EC093C787BD72 /* Foundation.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
0E29F1B1AADDDE3CA2F7C73BE03086CB /* Support Files */ = {
isa = PBXGroup;
children = (
DED0F223E5DC4303A4782D3ACB15A64F /* OnlineChatSdk.modulemap */,
996B4B332409D7E7FA09CC4B2D826C45 /* OnlineChatSdk.xcconfig */,
D7DF4591C78213A8775F1ACE153960EA /* OnlineChatSdk-dummy.m */,
95BAEA0C56516C312821C0AE97980D1F /* OnlineChatSdk-Info.plist */,
66CCC082299575BA547CEB3CEDE955A4 /* OnlineChatSdk-prefix.pch */,
C0111B871B5D52E9B55DA76532F8F2A2 /* OnlineChatSdk-umbrella.h */,
);
name = "Support Files";
path = "Example/Pods/Target Support Files/OnlineChatSdk";
sourceTree = "<group>";
};
12D575CCBA32163E118BDC1F019A63B1 /* Pod */ = {
isa = PBXGroup;
children = (
CF4B443DBD84B6D63C5835EE5161A81C /* LICENSE */,
14615AA05F95CA8B36F247500AEC3491 /* OnlineChatSdk.podspec */,
2A20AC005391A9D1327605199CFC4ECC /* README.md */,
);
name = Pod;
sourceTree = "<group>";
};
3E3423C86962A8706DF3152355D47F1F /* OnlineChatSdk */ = {
isa = PBXGroup;
children = (
9B7932088C0D7E01A53DA4E3FE510880 /* ChatApi.swift */,
09AEF9BCA9F7B3A9543A229C56609432 /* ChatController.swift */,
ABCF315DC34B0D65FDC06BD5C47E4537 /* Command.swift */,
12D575CCBA32163E118BDC1F019A63B1 /* Pod */,
0E29F1B1AADDDE3CA2F7C73BE03086CB /* Support Files */,
);
name = OnlineChatSdk;
path = ../..;
sourceTree = "<group>";
};
43C8D64CC46B08513D80E5B080FEABA8 /* Products */ = {
isa = PBXGroup;
children = (
00DDA13354DCA4F40F1997FDADA7CA42 /* OnlineChatSdk.framework */,
3F9D8182090913B398FB960F9C47D364 /* Pods_OnlineChatSdk_Example.framework */,
54E37E458C0AC465CBB829C9E07E70E9 /* Pods_OnlineChatSdk_Tests.framework */,
);
name = Products;
sourceTree = "<group>";
};
5DEAF1121F1978943E41E05FFC98FB3E /* Pods-OnlineChatSdk_Example */ = {
isa = PBXGroup;
children = (
A47B952EB811DA610A668204CBFABD37 /* Pods-OnlineChatSdk_Example.modulemap */,
2F1CED22613F2AAE9BD6A2C3831E4DA6 /* Pods-OnlineChatSdk_Example-acknowledgements.markdown */,
01A4A5141B00DF728F32412BCEB66D36 /* Pods-OnlineChatSdk_Example-acknowledgements.plist */,
A922434E0906B6862B74C406DC2376ED /* Pods-OnlineChatSdk_Example-dummy.m */,
FEE534B9BD577A51E2BE7BC4CA07E4B6 /* Pods-OnlineChatSdk_Example-frameworks.sh */,
4F0D5C8AD6FC51F8A0A965EA5CC573BD /* Pods-OnlineChatSdk_Example-Info.plist */,
575DA55EF4BC56E2E7F9127ABE7A28E3 /* Pods-OnlineChatSdk_Example-umbrella.h */,
325DA660D42FA1E563623E4E3CDB13C3 /* Pods-OnlineChatSdk_Example.debug.xcconfig */,
3E4270A75BF9FC99FDED4F358A946957 /* Pods-OnlineChatSdk_Example.release.xcconfig */,
);
name = "Pods-OnlineChatSdk_Example";
path = "Target Support Files/Pods-OnlineChatSdk_Example";
sourceTree = "<group>";
};
80971129FD0FF60FEA29255A0795EA34 /* Targets Support Files */ = {
isa = PBXGroup;
children = (
5DEAF1121F1978943E41E05FFC98FB3E /* Pods-OnlineChatSdk_Example */,
B2CC4C2692486F16641A7B75819A33C2 /* Pods-OnlineChatSdk_Tests */,
);
name = "Targets Support Files";
sourceTree = "<group>";
};
B2CC4C2692486F16641A7B75819A33C2 /* Pods-OnlineChatSdk_Tests */ = {
isa = PBXGroup;
children = (
DD9F6331BA9B7BF7C245D8AF59C00335 /* Pods-OnlineChatSdk_Tests.modulemap */,
18FAAAB49C908B7AEC33FF4BAA2A71A3 /* Pods-OnlineChatSdk_Tests-acknowledgements.markdown */,
7BB36BD6A86A14876EAB570446FC3C67 /* Pods-OnlineChatSdk_Tests-acknowledgements.plist */,
8ECBD7A2D1C2D4C8EA1D7D37BA41D12B /* Pods-OnlineChatSdk_Tests-dummy.m */,
D26B1FE0FAD5C1B7F2E561F5384FB7A4 /* Pods-OnlineChatSdk_Tests-Info.plist */,
1CEA9A7827573BC146B1DB56F7574206 /* Pods-OnlineChatSdk_Tests-umbrella.h */,
57A58A24AE74BA497984E7E58FE91E86 /* Pods-OnlineChatSdk_Tests.debug.xcconfig */,
7AC6161C36FC958B693D919BC395D788 /* Pods-OnlineChatSdk_Tests.release.xcconfig */,
);
name = "Pods-OnlineChatSdk_Tests";
path = "Target Support Files/Pods-OnlineChatSdk_Tests";
sourceTree = "<group>";
};
C0834CEBB1379A84116EF29F93051C60 /* iOS */ = {
isa = PBXGroup;
children = (
3212113385A8FBBDB272BD23C409FF61 /* Foundation.framework */,
);
name = iOS;
sourceTree = "<group>";
};
CF1408CF629C7361332E53B88F7BD30C = {
isa = PBXGroup;
children = (
9D940727FF8FB9C785EB98E56350EF41 /* Podfile */,
F3144DF81E2341C20E24CF8435AED4DB /* Development Pods */,
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */,
43C8D64CC46B08513D80E5B080FEABA8 /* Products */,
80971129FD0FF60FEA29255A0795EA34 /* Targets Support Files */,
);
sourceTree = "<group>";
};
D210D550F4EA176C3123ED886F8F87F5 /* Frameworks */ = {
isa = PBXGroup;
children = (
C0834CEBB1379A84116EF29F93051C60 /* iOS */,
);
name = Frameworks;
sourceTree = "<group>";
};
F3144DF81E2341C20E24CF8435AED4DB /* Development Pods */ = {
isa = PBXGroup;
children = (
3E3423C86962A8706DF3152355D47F1F /* OnlineChatSdk */,
);
name = "Development Pods";
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
7D141F2D6108170EBF0AC6093B99B82E /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
A8D871164B5ED343D9FF5AB0EBE88192 /* Pods-OnlineChatSdk_Example-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
D8BF0246F1777B0F458B5196B0877A15 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
4E480B796AAF0D0485296B48F2ABD33E /* OnlineChatSdk-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
F1479C4516B9E9E6199DF2362AAD5C5F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
FFFDD6C7C2E28FF39D79303DB06AE023 /* Pods-OnlineChatSdk_Tests-umbrella.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
703A72276AA799D9F6776AF21F9FBBC1 /* OnlineChatSdk */ = {
isa = PBXNativeTarget;
buildConfigurationList = EEE00C25AF5BC68482C05792FE077251 /* Build configuration list for PBXNativeTarget "OnlineChatSdk" */;
buildPhases = (
D8BF0246F1777B0F458B5196B0877A15 /* Headers */,
E8CDCAAF8A761E5AAE59BFBC9A11C981 /* Sources */,
BE98E545D5088AD5FD8DC3122E54E041 /* Frameworks */,
71F1688CD0996F3F229BC9EC3B477A17 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = OnlineChatSdk;
productName = OnlineChatSdk;
productReference = 00DDA13354DCA4F40F1997FDADA7CA42 /* OnlineChatSdk.framework */;
productType = "com.apple.product-type.framework";
};
9DEB3BD6EDAA33CF52E61BAA092E4BB8 /* Pods-OnlineChatSdk_Tests */ = {
isa = PBXNativeTarget;
buildConfigurationList = 63AE78E86BF0DAF3FB86C3FD1524AEE9 /* Build configuration list for PBXNativeTarget "Pods-OnlineChatSdk_Tests" */;
buildPhases = (
F1479C4516B9E9E6199DF2362AAD5C5F /* Headers */,
6E24C1EA167A0E7430C2FB0AA685B8A5 /* Sources */,
E144FB3DE4B09B3C96859C17A77CF1C1 /* Frameworks */,
EE6B9875E8543B129460851CF6520D7A /* Resources */,
);
buildRules = (
);
dependencies = (
A03DF1341F8D913F74004FC7A55EE746 /* PBXTargetDependency */,
);
name = "Pods-OnlineChatSdk_Tests";
productName = "Pods-OnlineChatSdk_Tests";
productReference = 54E37E458C0AC465CBB829C9E07E70E9 /* Pods_OnlineChatSdk_Tests.framework */;
productType = "com.apple.product-type.framework";
};
EE49958FF486FC5404A5724C7D94C8D0 /* Pods-OnlineChatSdk_Example */ = {
isa = PBXNativeTarget;
buildConfigurationList = B37F102035B11F4BCF075DE27116005F /* Build configuration list for PBXNativeTarget "Pods-OnlineChatSdk_Example" */;
buildPhases = (
7D141F2D6108170EBF0AC6093B99B82E /* Headers */,
E6285BEC29589FD1B6D3908284C27E95 /* Sources */,
78614699E128AB03F6805700A4F2D50D /* Frameworks */,
77C028D74381DB0833A480DD58FEC7A9 /* Resources */,
);
buildRules = (
);
dependencies = (
254B992ED9FDA2906743229BA9BC7745 /* PBXTargetDependency */,
);
name = "Pods-OnlineChatSdk_Example";
productName = "Pods-OnlineChatSdk_Example";
productReference = 3F9D8182090913B398FB960F9C47D364 /* Pods_OnlineChatSdk_Example.framework */;
productType = "com.apple.product-type.framework";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
BFDFE7DC352907FC980B868725387E98 /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1100;
LastUpgradeCheck = 1100;
};
buildConfigurationList = 4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */;
compatibilityVersion = "Xcode 3.2";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
);
mainGroup = CF1408CF629C7361332E53B88F7BD30C;
productRefGroup = 43C8D64CC46B08513D80E5B080FEABA8 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
703A72276AA799D9F6776AF21F9FBBC1 /* OnlineChatSdk */,
EE49958FF486FC5404A5724C7D94C8D0 /* Pods-OnlineChatSdk_Example */,
9DEB3BD6EDAA33CF52E61BAA092E4BB8 /* Pods-OnlineChatSdk_Tests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
71F1688CD0996F3F229BC9EC3B477A17 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
77C028D74381DB0833A480DD58FEC7A9 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
EE6B9875E8543B129460851CF6520D7A /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
6E24C1EA167A0E7430C2FB0AA685B8A5 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
8A4D7BAAB47A2BC73DB2649DC570DE6E /* Pods-OnlineChatSdk_Tests-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E6285BEC29589FD1B6D3908284C27E95 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
7587E97BF506974AF6F6A49B78EF08AF /* Pods-OnlineChatSdk_Example-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
E8CDCAAF8A761E5AAE59BFBC9A11C981 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
D57077F1B4219D4B130032D181180A24 /* ChatApi.swift in Sources */,
B61DE444BE1EB7C89513A66F1599ED13 /* ChatController.swift in Sources */,
877616D4221488CAAC0CCB65106F92EF /* Command.swift in Sources */,
E755A5301CE9F36554E6BED5D1C46CF5 /* OnlineChatSdk-dummy.m in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
254B992ED9FDA2906743229BA9BC7745 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = OnlineChatSdk;
target = 703A72276AA799D9F6776AF21F9FBBC1 /* OnlineChatSdk */;
targetProxy = FDEE491E399E8BEAE907A42158C78B11 /* PBXContainerItemProxy */;
};
A03DF1341F8D913F74004FC7A55EE746 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
name = "Pods-OnlineChatSdk_Example";
target = EE49958FF486FC5404A5724C7D94C8D0 /* Pods-OnlineChatSdk_Example */;
targetProxy = D6705DFE1A69E0869352E35AEB0D94BD /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
04EE59200408CF5B718B08EFEB157EC2 /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 3E4270A75BF9FC99FDED4F358A946957 /* Pods-OnlineChatSdk_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;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_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";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
4E3EB4C0FA6A152C3AD6101B29C005C0 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 57A58A24AE74BA497984E7E58FE91E86 /* Pods-OnlineChatSdk_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;
DEFINES_MODULE = YES;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_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";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
573EDC9601131E4257033DC11AAD6FBA /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 7AC6161C36FC958B693D919BC395D788 /* Pods-OnlineChatSdk_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-OnlineChatSdk_Tests/Pods-OnlineChatSdk_Tests-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-OnlineChatSdk_Tests/Pods-OnlineChatSdk_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;
};
823476B22AA8BC6EFC2AF819832857CB /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 325DA660D42FA1E563623E4E3CDB13C3 /* Pods-OnlineChatSdk_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-OnlineChatSdk_Example/Pods-OnlineChatSdk_Example-Info.plist";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 9.3;
LD_RUNPATH_SEARCH_PATHS = "$(inherited) @executable_path/Frameworks @loader_path/Frameworks";
MACH_O_TYPE = staticlib;
MODULEMAP_FILE = "Target Support Files/Pods-OnlineChatSdk_Example/Pods-OnlineChatSdk_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 = "";
};
name = Debug;
};
93EEB9C292410CFA6C60BF0B197418BE /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 996B4B332409D7E7FA09CC4B2D826C45 /* OnlineChatSdk.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/OnlineChatSdk/OnlineChatSdk-prefix.pch";
INFOPLIST_FILE = "Target Support Files/OnlineChatSdk/OnlineChatSdk-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/OnlineChatSdk/OnlineChatSdk.modulemap";
PRODUCT_MODULE_NAME = OnlineChatSdk;
PRODUCT_NAME = OnlineChatSdk;
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;
};
B0087CB4594321EF41619F3181FE120E /* Release */ = {
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-with-dsym";
ENABLE_NS_ASSERTIONS = NO;
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_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 = 9.3;
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";
};
name = Release;
};
B74FE4E40ECDDF54C134B546547EDB37 /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 996B4B332409D7E7FA09CC4B2D826C45 /* OnlineChatSdk.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/OnlineChatSdk/OnlineChatSdk-prefix.pch";
INFOPLIST_FILE = "Target Support Files/OnlineChatSdk/OnlineChatSdk-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/OnlineChatSdk/OnlineChatSdk.modulemap";
PRODUCT_MODULE_NAME = OnlineChatSdk;
PRODUCT_NAME = OnlineChatSdk;
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;
};
B8BCBD0110C2658BB5DAADB9B7D97B92 /* 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 = 9.3;
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;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
4821239608C13582E20E6DA73FD5F1F9 /* Build configuration list for PBXProject "Pods" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B8BCBD0110C2658BB5DAADB9B7D97B92 /* Debug */,
B0087CB4594321EF41619F3181FE120E /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
63AE78E86BF0DAF3FB86C3FD1524AEE9 /* Build configuration list for PBXNativeTarget "Pods-OnlineChatSdk_Tests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
4E3EB4C0FA6A152C3AD6101B29C005C0 /* Debug */,
573EDC9601131E4257033DC11AAD6FBA /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
B37F102035B11F4BCF075DE27116005F /* Build configuration list for PBXNativeTarget "Pods-OnlineChatSdk_Example" */ = {
isa = XCConfigurationList;
buildConfigurations = (
823476B22AA8BC6EFC2AF819832857CB /* Debug */,
04EE59200408CF5B718B08EFEB157EC2 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
EEE00C25AF5BC68482C05792FE077251 /* Build configuration list for PBXNativeTarget "OnlineChatSdk" */ = {
isa = XCConfigurationList;
buildConfigurations = (
B74FE4E40ECDDF54C134B546547EDB37 /* Debug */,
93EEB9C292410CFA6C60BF0B197418BE /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = BFDFE7DC352907FC980B868725387E98 /* Project object */;
}

View File

@@ -0,0 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<Workspace
version = "1.0">
<FileRef
location = "self:">
</FileRef>
</Workspace>

View File

@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>IDEDidComputeMac32BitWarning</key>
<true/>
</dict>
</plist>

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>0.0.1</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_OnlineChatSdk : NSObject
@end
@implementation PodsDummy_OnlineChatSdk
@end

View File

@@ -0,0 +1,12 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif

View File

@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double OnlineChatSdkVersionNumber;
FOUNDATION_EXPORT const unsigned char OnlineChatSdkVersionString[];

View File

@@ -0,0 +1,6 @@
framework module OnlineChatSdk {
umbrella header "OnlineChatSdk-umbrella.h"
export *
module * { export * }
}

View File

@@ -0,0 +1,10 @@
CONFIGURATION_BUILD_DIR = ${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
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

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,26 @@
# Acknowledgements
This application makes use of the following third party libraries:
## OnlineChatSdk
Copyright (c) 2019 bekannax <bekannax@gmail.com>
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

View File

@@ -0,0 +1,58 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Copyright (c) 2019 bekannax &lt;bekannax@gmail.com&gt;
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.
</string>
<key>License</key>
<string>MIT</string>
<key>Title</key>
<string>OnlineChatSdk</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_OnlineChatSdk_Example : NSObject
@end
@implementation PodsDummy_Pods_OnlineChatSdk_Example
@end

View File

@@ -0,0 +1,171 @@
#!/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
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# 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
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# 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)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
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_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
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 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 $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
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}/OnlineChatSdk/OnlineChatSdk.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/OnlineChatSdk/OnlineChatSdk.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi

View File

@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_OnlineChatSdk_ExampleVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_OnlineChatSdk_ExampleVersionString[];

View File

@@ -0,0 +1,12 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk/OnlineChatSdk.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "OnlineChatSdk"
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

View File

@@ -0,0 +1,6 @@
framework module Pods_OnlineChatSdk_Example {
umbrella header "Pods-OnlineChatSdk_Example-umbrella.h"
export *
module * { export * }
}

View File

@@ -0,0 +1,12 @@
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk/OnlineChatSdk.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "OnlineChatSdk"
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

View File

@@ -0,0 +1,26 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>CFBundleDevelopmentRegion</key>
<string>en</string>
<key>CFBundleExecutable</key>
<string>${EXECUTABLE_NAME}</string>
<key>CFBundleIdentifier</key>
<string>${PRODUCT_BUNDLE_IDENTIFIER}</string>
<key>CFBundleInfoDictionaryVersion</key>
<string>6.0</string>
<key>CFBundleName</key>
<string>${PRODUCT_NAME}</string>
<key>CFBundlePackageType</key>
<string>FMWK</string>
<key>CFBundleShortVersionString</key>
<string>1.0.0</string>
<key>CFBundleSignature</key>
<string>????</string>
<key>CFBundleVersion</key>
<string>${CURRENT_PROJECT_VERSION}</string>
<key>NSPrincipalClass</key>
<string></string>
</dict>
</plist>

View File

@@ -0,0 +1,3 @@
# Acknowledgements
This application makes use of the following third party libraries:
Generated by CocoaPods - https://cocoapods.org

View File

@@ -0,0 +1,29 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PreferenceSpecifiers</key>
<array>
<dict>
<key>FooterText</key>
<string>This application makes use of the following third party libraries:</string>
<key>Title</key>
<string>Acknowledgements</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key>
<string></string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
</array>
<key>StringsTable</key>
<string>Acknowledgements</string>
<key>Title</key>
<string>Acknowledgements</string>
</dict>
</plist>

View File

@@ -0,0 +1,5 @@
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_OnlineChatSdk_Tests : NSObject
@end
@implementation PodsDummy_Pods_OnlineChatSdk_Tests
@end

View File

@@ -0,0 +1,171 @@
#!/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
local source="${BUILT_PRODUCTS_DIR}/$1"
elif [ -r "${BUILT_PRODUCTS_DIR}/$(basename "$1")" ]; then
local source="${BUILT_PRODUCTS_DIR}/$(basename "$1")"
elif [ -r "$1" ]; then
local source="$1"
fi
local destination="${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}"
if [ -L "${source}" ]; then
echo "Symlinked..."
source="$(readlink "${source}")"
fi
# 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
if [[ "$(file "$binary")" == *"dynamically linked shared library"* ]]; then
strip_invalid_archs "$binary"
fi
# Resign the code if required by the build settings to avoid unstable apps
code_sign_if_enabled "${destination}/$(basename "$1")"
# 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)
for lib in $swift_runtime_libs; do
echo "rsync -auv \"${SWIFT_STDLIB_PATH}/${lib}\" \"${destination}\""
rsync -auv "${SWIFT_STDLIB_PATH}/${lib}" "${destination}"
code_sign_if_enabled "${destination}/${lib}"
done
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_identity
echo "Code Signing $1 with Identity ${EXPANDED_CODE_SIGN_IDENTITY_NAME}"
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 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 $binary_archs; do
if ! [[ "${ARCHS}" == *"$arch"* ]]; then
# Strip non-valid architectures in-place
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}/FBSnapshotTestCase/FBSnapshotTestCase.framework"
fi
if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/FBSnapshotTestCase/FBSnapshotTestCase.framework"
fi
if [ "${COCOAPODS_PARALLEL_CODE_SIGN}" == "true" ]; then
wait
fi

View File

@@ -0,0 +1,16 @@
#ifdef __OBJC__
#import <UIKit/UIKit.h>
#else
#ifndef FOUNDATION_EXPORT
#if defined(__cplusplus)
#define FOUNDATION_EXPORT extern "C"
#else
#define FOUNDATION_EXPORT extern
#endif
#endif
#endif
FOUNDATION_EXPORT double Pods_OnlineChatSdk_TestsVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_OnlineChatSdk_TestsVersionString[];

View File

@@ -0,0 +1,9 @@
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk/OnlineChatSdk.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "OnlineChatSdk"
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

View File

@@ -0,0 +1,6 @@
framework module Pods_OnlineChatSdk_Tests {
umbrella header "Pods-OnlineChatSdk_Tests-umbrella.h"
export *
module * { export * }
}

View File

@@ -0,0 +1,9 @@
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/OnlineChatSdk/OnlineChatSdk.framework/Headers"
OTHER_LDFLAGS = $(inherited) -framework "OnlineChatSdk"
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

View File

@@ -8,7 +8,7 @@
Pod::Spec.new do |s| Pod::Spec.new do |s|
s.name = 'OnlineChatSdk' s.name = 'OnlineChatSdk'
s.version = '0.1.0' s.version = '0.0.1'
s.summary = 'A short description of OnlineChatSdk.' s.summary = 'A short description of OnlineChatSdk.'
# This description is used to generate tags and improve search results. # This description is used to generate tags and improve search results.
@@ -21,11 +21,11 @@ Pod::Spec.new do |s|
TODO: Add long description of the pod here. TODO: Add long description of the pod here.
DESC DESC
s.homepage = 'https://github.com/bekannax/OnlineChatSdk' s.homepage = 'https://github.com/bekannax/OnlineChatSdk-Swift'
# s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2' # s.screenshots = 'www.example.com/screenshots_1', 'www.example.com/screenshots_2'
s.license = { :type => 'MIT', :file => 'LICENSE' } s.license = { :type => 'MIT', :file => 'LICENSE' }
s.author = { 'bekannax' => 'bekannax@gmail.com' } s.author = { 'bekannax' => 'bekannax@gmail.com' }
s.source = { :git => 'https://github.com/bekannax/OnlineChatSdk.git', :tag => s.version.to_s } s.source = { :git => 'https://github.com/bekannax/OnlineChatSdk-Swift.git', :tag => s.version.to_s }
# s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>' # s.social_media_url = 'https://twitter.com/<TWITTER_USERNAME>'
s.ios.deployment_target = '8.0' s.ios.deployment_target = '8.0'

View File

@@ -0,0 +1,55 @@
//
// ChatApi.swift
// OnlineChatSdk
//
// Created by Andrew Blinov on 29/03/2019.
// Copyright © 2019 Andrew Blinov. All rights reserved.
//
import Foundation
open class ChatApi {
private func post(_ url: String, _ params: Dictionary<String, Any>, completionHandler: @escaping (Data?, URLResponse?, Error?) -> Void) {
guard let url = URL(string: url) else { return }
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("application/json", forHTTPHeaderField: "Content-Type")
guard let httpBody = try? JSONSerialization.data(withJSONObject: params, options: []) else { return }
request.httpBody = httpBody
let session = URLSession.shared
session.dataTask(with: request, completionHandler: completionHandler).resume()
}
public func send(_ token: String, _ method: String, _ params: Dictionary<String, Any>, callback: @escaping (NSDictionary?) -> Void) {
let url = "https://admin.verbox.ru/api/chat/\(token)/\(method)"
post(url, params) { (data, response, error) in
guard let data = data else { return }
do {
let json = try JSONSerialization.jsonObject(with: data, options: []) as? NSDictionary
callback(json)
} catch {}
}
}
public func messages(_ token: String, params: Dictionary<String, Any>, callback: @escaping (NSDictionary?) -> Void) {
send(token, "message", params, callback: callback)
}
public static func getNewMessages(_ token: String, _ clientId: String, callback: @escaping (NSDictionary?) -> Void) {
let dtFormatter = DateFormatter()
dtFormatter.calendar = Calendar(identifier: Calendar.Identifier.iso8601)
dtFormatter.locale = Locale(identifier: "en")
dtFormatter.dateFormat = "yyyy'-'MM'-'dd'"
dtFormatter.timeZone = TimeZone(secondsFromGMT: 10800)
let params = [
"client": ["clientId": clientId],
"sender": "operator",
"status": "unreaded",
"dateRange": ["start": dtFormatter.string(from: Date(timeIntervalSince1970: Date().timeIntervalSince1970 - 86400 * 14)), "stop": dtFormatter.string(from: Date())]
] as [String : Any]
(ChatApi()).messages(token, params: params, callback: callback)
}
}

View File

@@ -0,0 +1,249 @@
//
// ChatController.swift
// OnlineChatSdk
//
// Created by Andrew Blinov on 22/03/2019.
// Copyright © 2019 Andrew Blinov. All rights reserved.
//
import UIKit
import WebKit
import AVFoundation
open class ChatController: UIViewController, WKNavigationDelegate, WKScriptMessageHandler{
public static let event_operatorSendMessage = "operatorSendMessage";
public static let event_clientSendMessage = "clientSendMessage";
public static let event_clientMakeSubscribe = "clientMakeSubscribe";
public static let event_contactsUpdated = "contactsUpdated";
public static let event_sendRate = "sendRate";
public static let event_clientId = "clientId";
public static let method_setClientInfo = "setClientInfo";
public static let method_setTarget = "setTarget";
public static let method_openReviewsTab = "openReviewsTab";
public static let method_openTab = "openTab";
public static let method_sendMessage = "sendMessage";
public static let method_receiveMessage = "receiveMessage";
public static let method_setOperator = "setOperator";
public static let method_getContacts = "getContacts";
public var chatView: WKWebView!
private var callJs: Array<String>!
private var didFinish: Bool = false
override public func loadView() {
let contentController = WKUserContentController()
contentController.add(self, name: "chatInterface")
let preferences = WKPreferences()
preferences.javaScriptEnabled = true
preferences.javaScriptCanOpenWindowsAutomatically = true
let config = WKWebViewConfiguration()
config.userContentController = contentController
config.preferences = preferences
self.chatView = WKWebView(frame: (self.parent?.view.bounds)!, configuration: config)
self.chatView.navigationDelegate = self
self.view = self.chatView
}
public func webView(_ webView: WKWebView, didFinish navigation: WKNavigation!) {
self.didFinish = true
if self.callJs != nil && !self.callJs.isEmpty {
for script in self.callJs {
callJs(script)
}
self.callJs = nil
}
}
private func getCallJsMethod(_ name: String, params: Array<Any>) -> String {
var res: String = "window.MeTalk('"
res.append(name)
res.append("'")
if params.count > 0 {
for p in params {
res.append(",")
if p is Int {
res.append(String(describing: p))
} else if p is Command {
res.append((p as! Command).command)
} else {
res.append("'")
res.append(String(describing: p))
res.append("'")
}
}
}
res.append(")")
return res
}
private func callJs(_ script: String) {
self.chatView.evaluateJavaScript(script)
}
private func toJson(_ jsonObj: AnyObject) -> String {
var data:Data? = nil
do {
data = try JSONSerialization.data(withJSONObject: jsonObj, options: JSONSerialization.WritingOptions());
} catch {}
if data != nil {
return NSString(data: data!, encoding: String.Encoding.utf8.rawValue)! as String
}
return "{}"
}
public func load(_ id: String, _ domain: String, _ language: String = "", _ clientId: String = "") {
var setup: Dictionary<String, Any> = [:]
if !language.isEmpty {
setup["language"] = language
}
if !clientId.isEmpty {
setup["clientId"] = clientId
}
let surl = "https://admin.verbox.ru/support/chat/\(id)/\(domain)"
var url = URL(string: surl)
if !setup.isEmpty {
var urlComponents = URLComponents(url: url!, resolvingAgainstBaseURL: false)
urlComponents?.queryItems = [URLQueryItem(name: "setup", value: toJson(setup as AnyObject))]
url = urlComponents!.url!
}
if url == nil {
url = URL(string: surl)
}
self.chatView.load(URLRequest(url: url!))
self.chatView.allowsBackForwardNavigationGestures = true
}
public func callJsMethod(_ name: String, params: Array<Any>) {
if self.didFinish {
callJs(getCallJsMethod(name, params: params))
} else {
if self.callJs == nil {
self.callJs = []
}
self.callJs.append(getCallJsMethod(name, params: params))
}
}
public func callJsSetClientInfo(_ jsonInfo: String) {
callJsMethod(ChatController.method_setClientInfo, params: [jsonInfo])
}
public func callJsSetTarget(_ reason: String) {
callJsMethod(ChatController.method_setTarget, params: [reason])
}
public func callJsOpenReviewsTab() {
callJsMethod(ChatController.method_openReviewsTab, params: [])
}
public func callJsOpenTab(_ index: Int) {
callJsMethod(ChatController.method_openTab, params: [index])
}
public func callJsSendMessage(_ text: String) {
callJsMethod(ChatController.method_sendMessage, params: [text])
}
public func callJsReceiveMessage(_ text: String, _ oper: String, _ simulateTyping: Int) {
callJsMethod(ChatController.method_receiveMessage, params: [text, oper, simulateTyping])
}
public func callJsSetOperator(_ login: String) {
callJsMethod(ChatController.method_setOperator, params: [login])
}
public func callJsGetContacts() {
callJsMethod(ChatController.method_getContacts, params: [Command("window.getContactsCallback")])
}
public func userContentController(_ userContentController: WKUserContentController, didReceive message: WKScriptMessage) {
if message.name != "chatInterface" {
return
}
let jsonBody = (message.body as! String).data(using: .utf8)!
let body = try? (JSONSerialization.jsonObject(with: jsonBody, options: .mutableLeaves) as! NSDictionary)
if body == nil {
return
}
if body!["name"] == nil {
return
}
var data: NSDictionary?
if body!["data"] != nil {
data = (body!["data"] as! NSDictionary)
} else {
data = [:]
}
let name = body!["name"] as! String
switch name {
case ChatController.event_clientId:
onClientId(data!["clientId"] != nil ? data!["clientId"] as! String : "")
break
case ChatController.event_sendRate:
onSendRate(data!)
break
case ChatController.event_contactsUpdated:
onContactsUpdated(data!)
break
case ChatController.event_clientSendMessage:
onClientSendMessage(data!)
break
case ChatController.event_clientMakeSubscribe:
onClientMakeSubscribe(data!)
break
case ChatController.event_operatorSendMessage:
onOperatorSendMessage(data!)
break
case ChatController.method_getContacts:
getContactsCallback(data!)
break
default:
break
}
onEvent(name, data!)
}
open func playSound(_ systemSoundId: SystemSoundID) {
AudioServicesPlaySystemSound(systemSoundId)
}
open func onClientId(_ clientId: String) {
}
open func onSendRate(_ data: NSDictionary) {
}
open func onContactsUpdated(_ data: NSDictionary) {
}
open func onClientSendMessage(_ data: NSDictionary) {
}
open func onClientMakeSubscribe(_ data: NSDictionary) {
}
open func onOperatorSendMessage(_ data: NSDictionary) {
self.playSound(1315)
}
open func onEvent(_ name: String, _ data: NSDictionary) {
}
open func getContactsCallback(_ data: NSDictionary) {
}
}

View File

@@ -0,0 +1,17 @@
//
// Command.swift
// OnlineChatSdk
//
// Created by Andrew Blinov on 26/03/2019.
// Copyright © 2019 Andrew Blinov. All rights reserved.
//
import Foundation
public struct Command {
let command: String
init(_ command: String) {
self.command = command
}
}

View File

@@ -1 +0,0 @@
Example/Pods/Pods.xcodeproj