Commit 7eb54a69 by Dmitry Stepanets

Started implementing GraphQL integration

parent ce28bbd2
......@@ -2,6 +2,9 @@
<Workspace
version = "1.0">
<FileRef
location = "group:InMobiGraphQLSource/InMobiGraphQLSource.xcodeproj">
</FileRef>
<FileRef
location = "group:InMobiShortsSource/InMobiShortsSource.xcodeproj">
</FileRef>
<FileRef
......
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 55;
objects = {
/* Begin PBXBuildFile section */
CD041E1926FDDAB200705CD1 /* InMobiGraphQLSource.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD041E1026FDDAB200705CD1 /* InMobiGraphQLSource.framework */; };
CD041E1E26FDDAB200705CD1 /* InMobiGraphQLSourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E1D26FDDAB200705CD1 /* InMobiGraphQLSourceTests.swift */; };
CD041E1F26FDDAB200705CD1 /* InMobiGraphQLSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CD041E1326FDDAB200705CD1 /* InMobiGraphQLSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
CD041E2A26FDDAE500705CD1 /* OneWeatherAnalytics.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD041E2926FDDAE500705CD1 /* OneWeatherAnalytics.framework */; };
CD041E2E26FDDAED00705CD1 /* OneWeatherCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CD041E2D26FDDAED00705CD1 /* OneWeatherCore.framework */; };
CD041E3226FDEBCF00705CD1 /* InMobiGraphQLSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3126FDEBCF00705CD1 /* InMobiGraphQLSource.swift */; };
CD041E3726FDFD8A00705CD1 /* GraphQLResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3626FDFD8A00705CD1 /* GraphQLResponse.swift */; };
CD041E3926FDFE0300705CD1 /* WeatherCardItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3826FDFE0300705CD1 /* WeatherCardItem.swift */; };
CD041E3B26FDFFEF00705CD1 /* MediaArrayObjectCollection.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3A26FDFFEF00705CD1 /* MediaArrayObjectCollection.swift */; };
CD041E3D26FE001900705CD1 /* MediaObjectItem.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3C26FE001900705CD1 /* MediaObjectItem.swift */; };
CD041E3F26FE004F00705CD1 /* MediaObjectImage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD041E3E26FE004F00705CD1 /* MediaObjectImage.swift */; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
CD041E1A26FDDAB200705CD1 /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CD041E0726FDDAB200705CD1 /* Project object */;
proxyType = 1;
remoteGlobalIDString = CD041E0F26FDDAB200705CD1;
remoteInfo = InMobiGraphQLSource;
};
/* End PBXContainerItemProxy section */
/* Begin PBXFileReference section */
CD041E1026FDDAB200705CD1 /* InMobiGraphQLSource.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = InMobiGraphQLSource.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CD041E1326FDDAB200705CD1 /* InMobiGraphQLSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = InMobiGraphQLSource.h; sourceTree = "<group>"; };
CD041E1826FDDAB200705CD1 /* InMobiGraphQLSourceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = InMobiGraphQLSourceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
CD041E1D26FDDAB200705CD1 /* InMobiGraphQLSourceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InMobiGraphQLSourceTests.swift; sourceTree = "<group>"; };
CD041E2926FDDAE500705CD1 /* OneWeatherAnalytics.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OneWeatherAnalytics.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CD041E2D26FDDAED00705CD1 /* OneWeatherCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OneWeatherCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CD041E3126FDEBCF00705CD1 /* InMobiGraphQLSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = InMobiGraphQLSource.swift; sourceTree = "<group>"; };
CD041E3626FDFD8A00705CD1 /* GraphQLResponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = GraphQLResponse.swift; sourceTree = "<group>"; };
CD041E3826FDFE0300705CD1 /* WeatherCardItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WeatherCardItem.swift; sourceTree = "<group>"; };
CD041E3A26FDFFEF00705CD1 /* MediaArrayObjectCollection.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaArrayObjectCollection.swift; sourceTree = "<group>"; };
CD041E3C26FE001900705CD1 /* MediaObjectItem.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaObjectItem.swift; sourceTree = "<group>"; };
CD041E3E26FE004F00705CD1 /* MediaObjectImage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MediaObjectImage.swift; sourceTree = "<group>"; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
CD041E0D26FDDAB200705CD1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CD041E2A26FDDAE500705CD1 /* OneWeatherAnalytics.framework in Frameworks */,
CD041E2E26FDDAED00705CD1 /* OneWeatherCore.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CD041E1526FDDAB200705CD1 /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CD041E1926FDDAB200705CD1 /* InMobiGraphQLSource.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
CD041E0626FDDAB200705CD1 = {
isa = PBXGroup;
children = (
CD041E1226FDDAB200705CD1 /* InMobiGraphQLSource */,
CD041E1C26FDDAB200705CD1 /* InMobiGraphQLSourceTests */,
CD041E1126FDDAB200705CD1 /* Products */,
CD041E2826FDDAE500705CD1 /* Frameworks */,
);
sourceTree = "<group>";
};
CD041E1126FDDAB200705CD1 /* Products */ = {
isa = PBXGroup;
children = (
CD041E1026FDDAB200705CD1 /* InMobiGraphQLSource.framework */,
CD041E1826FDDAB200705CD1 /* InMobiGraphQLSourceTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
CD041E1226FDDAB200705CD1 /* InMobiGraphQLSource */ = {
isa = PBXGroup;
children = (
CD041E3326FDFC0700705CD1 /* Models */,
CD041E3126FDEBCF00705CD1 /* InMobiGraphQLSource.swift */,
CD041E1326FDDAB200705CD1 /* InMobiGraphQLSource.h */,
);
path = InMobiGraphQLSource;
sourceTree = "<group>";
};
CD041E1C26FDDAB200705CD1 /* InMobiGraphQLSourceTests */ = {
isa = PBXGroup;
children = (
CD041E1D26FDDAB200705CD1 /* InMobiGraphQLSourceTests.swift */,
);
path = InMobiGraphQLSourceTests;
sourceTree = "<group>";
};
CD041E2826FDDAE500705CD1 /* Frameworks */ = {
isa = PBXGroup;
children = (
CD041E2D26FDDAED00705CD1 /* OneWeatherCore.framework */,
CD041E2926FDDAE500705CD1 /* OneWeatherAnalytics.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
CD041E3326FDFC0700705CD1 /* Models */ = {
isa = PBXGroup;
children = (
CD041E3626FDFD8A00705CD1 /* GraphQLResponse.swift */,
CD041E3826FDFE0300705CD1 /* WeatherCardItem.swift */,
CD041E3A26FDFFEF00705CD1 /* MediaArrayObjectCollection.swift */,
CD041E3C26FE001900705CD1 /* MediaObjectItem.swift */,
CD041E3E26FE004F00705CD1 /* MediaObjectImage.swift */,
);
path = Models;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
CD041E0B26FDDAB200705CD1 /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
CD041E1F26FDDAB200705CD1 /* InMobiGraphQLSource.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
CD041E0F26FDDAB200705CD1 /* InMobiGraphQLSource */ = {
isa = PBXNativeTarget;
buildConfigurationList = CD041E2226FDDAB200705CD1 /* Build configuration list for PBXNativeTarget "InMobiGraphQLSource" */;
buildPhases = (
CD041E0B26FDDAB200705CD1 /* Headers */,
CD041E0C26FDDAB200705CD1 /* Sources */,
CD041E0D26FDDAB200705CD1 /* Frameworks */,
CD041E0E26FDDAB200705CD1 /* Resources */,
);
buildRules = (
);
dependencies = (
);
name = InMobiGraphQLSource;
productName = InMobiGraphQLSource;
productReference = CD041E1026FDDAB200705CD1 /* InMobiGraphQLSource.framework */;
productType = "com.apple.product-type.framework";
};
CD041E1726FDDAB200705CD1 /* InMobiGraphQLSourceTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = CD041E2526FDDAB200705CD1 /* Build configuration list for PBXNativeTarget "InMobiGraphQLSourceTests" */;
buildPhases = (
CD041E1426FDDAB200705CD1 /* Sources */,
CD041E1526FDDAB200705CD1 /* Frameworks */,
CD041E1626FDDAB200705CD1 /* Resources */,
);
buildRules = (
);
dependencies = (
CD041E1B26FDDAB200705CD1 /* PBXTargetDependency */,
);
name = InMobiGraphQLSourceTests;
productName = InMobiGraphQLSourceTests;
productReference = CD041E1826FDDAB200705CD1 /* InMobiGraphQLSourceTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
CD041E0726FDDAB200705CD1 /* Project object */ = {
isa = PBXProject;
attributes = {
BuildIndependentTargetsInParallel = 1;
LastSwiftUpdateCheck = 1300;
LastUpgradeCheck = 1300;
TargetAttributes = {
CD041E0F26FDDAB200705CD1 = {
CreatedOnToolsVersion = 13.0;
LastSwiftMigration = 1300;
};
CD041E1726FDDAB200705CD1 = {
CreatedOnToolsVersion = 13.0;
};
};
};
buildConfigurationList = CD041E0A26FDDAB200705CD1 /* Build configuration list for PBXProject "InMobiGraphQLSource" */;
compatibilityVersion = "Xcode 13.0";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = CD041E0626FDDAB200705CD1;
productRefGroup = CD041E1126FDDAB200705CD1 /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
CD041E0F26FDDAB200705CD1 /* InMobiGraphQLSource */,
CD041E1726FDDAB200705CD1 /* InMobiGraphQLSourceTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
CD041E0E26FDDAB200705CD1 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
CD041E1626FDDAB200705CD1 /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
CD041E0C26FDDAB200705CD1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CD041E3926FDFE0300705CD1 /* WeatherCardItem.swift in Sources */,
CD041E3726FDFD8A00705CD1 /* GraphQLResponse.swift in Sources */,
CD041E3B26FDFFEF00705CD1 /* MediaArrayObjectCollection.swift in Sources */,
CD041E3226FDEBCF00705CD1 /* InMobiGraphQLSource.swift in Sources */,
CD041E3D26FE001900705CD1 /* MediaObjectItem.swift in Sources */,
CD041E3F26FE004F00705CD1 /* MediaObjectImage.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CD041E1426FDDAB200705CD1 /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CD041E1E26FDDAB200705CD1 /* InMobiGraphQLSourceTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
CD041E1B26FDDAB200705CD1 /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = CD041E0F26FDDAB200705CD1 /* InMobiGraphQLSource */;
targetProxy = CD041E1A26FDDAB200705CD1 /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
CD041E2026FDDAB200705CD1 /* 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++17";
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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
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;
CURRENT_PROJECT_VERSION = 1;
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 = (
"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 = 15.0;
MTL_ENABLE_DEBUG_INFO = INCLUDE_SOURCE;
MTL_FAST_MATH = YES;
ONLY_ACTIVE_ARCH = YES;
SDKROOT = iphoneos;
SWIFT_ACTIVE_COMPILATION_CONDITIONS = DEBUG;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Debug;
};
CD041E2126FDDAB200705CD1 /* 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++17";
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_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = YES;
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;
CURRENT_PROJECT_VERSION = 1;
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_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 = 15.0;
MTL_ENABLE_DEBUG_INFO = NO;
MTL_FAST_MATH = YES;
SDKROOT = iphoneos;
SWIFT_COMPILATION_MODE = wholemodule;
SWIFT_OPTIMIZATION_LEVEL = "-O";
VALIDATE_PRODUCT = YES;
VERSIONING_SYSTEM = "apple-generic";
VERSION_INFO_PREFIX = "";
};
name = Release;
};
CD041E2326FDDAB200705CD1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 24W4XMQ38L;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.InMobiGraphQLSource;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTS_MACCATALYST = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_OPTIMIZATION_LEVEL = "-Onone";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
CD041E2426FDDAB200705CD1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
CLANG_ENABLE_MODULES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 24W4XMQ38L;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
GENERATE_INFOPLIST_FILE = YES;
INFOPLIST_KEY_NSHumanReadableCopyright = "";
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.InMobiGraphQLSource;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTS_MACCATALYST = NO;
SWIFT_EMIT_LOC_STRINGS = YES;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
CD041E2626FDDAB200705CD1 /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 24W4XMQ38L;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.InMobiGraphQLSourceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
CD041E2726FDDAB200705CD1 /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
CURRENT_PROJECT_VERSION = 1;
DEVELOPMENT_TEAM = 24W4XMQ38L;
GENERATE_INFOPLIST_FILE = YES;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
MARKETING_VERSION = 1.0;
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.InMobiGraphQLSourceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_EMIT_LOC_STRINGS = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
CD041E0A26FDDAB200705CD1 /* Build configuration list for PBXProject "InMobiGraphQLSource" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CD041E2026FDDAB200705CD1 /* Debug */,
CD041E2126FDDAB200705CD1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CD041E2226FDDAB200705CD1 /* Build configuration list for PBXNativeTarget "InMobiGraphQLSource" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CD041E2326FDDAB200705CD1 /* Debug */,
CD041E2426FDDAB200705CD1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CD041E2526FDDAB200705CD1 /* Build configuration list for PBXNativeTarget "InMobiGraphQLSourceTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CD041E2626FDDAB200705CD1 /* Debug */,
CD041E2726FDDAB200705CD1 /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = CD041E0726FDDAB200705CD1 /* Project object */;
}
//
// InMobiGraphQLSource.h
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
#import <Foundation/Foundation.h>
//! Project version number for InMobiGraphQLSource.
FOUNDATION_EXPORT double InMobiGraphQLSourceVersionNumber;
//! Project version string for InMobiGraphQLSource.
FOUNDATION_EXPORT const unsigned char InMobiGraphQLSourceVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <InMobiGraphQLSource/PublicHeader.h>
//
// InMobiGraphQLSource.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
import OneWeatherCore
import OneWeatherAnalytics
public enum InMobiGraphQLSourceError: Error {
case badUrl
case invalidIds
case networkError(Error?)
case badServerResponse(Error?)
case dataEncodingError(String)
}
public class InMobiGraphQLSource: ShortSource {
private let log = Logger(componentName: "InMobiGraphQLSource")
private let baseURL = "https://graphql.contentful.com/content/v1/spaces/f2vk0k553nc3/environments/master"
private let token = "oxH_tXQAzlST37BSR_IGFZUNht65YUZEYLsiFl8OXJQ"
private let formatter: DateFormatter = {
let fmt = DateFormatter()
fmt.dateFormat = "yyyy-MM-dd'T'hh:mm:ss.sssZ"
return fmt
}()
public init() {}
public func updateShorts(completion: @escaping ShortsSourceCompletion) {
guard let url = URL(string: baseURL) else {
completion(nil, InMobiGraphQLSourceError.badUrl)
return
}
var request = URLRequest(url: url)
request.httpMethod = "POST"
request.addValue("Bearer \(token)", forHTTPHeaderField: "Authorization")
let dateString = formatter.string(from: Date())
let graphQLString = """
{"query {
weatherCardObjectCollection(where: {
AND: [ { expiredAt_gte: "\(dateString)" } ],
}) {
items {
shortsCategories,
sourceUrl,
buttonText,
publishedAt
mediaArrayObjectCollection {
items {
... on WImageObject {
title,
summary
image
}
}
}
sys {
id
}
}
}
}
"""
guard let bodyData = graphQLString.data(using: .utf8) else {
completion(nil, InMobiGraphQLSourceError.dataEncodingError("Invalid GraphQL body"))
return
}
request.httpBody = bodyData
let dataTask = URLSession.shared.dataTask(with: request) { data, response, error in
guard error == nil else {
self.log.debug("Network response: error \(String(describing: error))")
completion(nil, InMobiGraphQLSourceError.networkError(error))
return
}
guard let data = data else {
self.log.debug("Network response: error Invalid data")
completion(nil, InMobiGraphQLSourceError.dataEncodingError("Invalid data"))
return
}
let decoder = JSONDecoder()
decoder.keyDecodingStrategy = .useDefaultKeys
do {
let graphQLResponse = try decoder.decode(GrapQLResponse.self, from: data)
}
catch {
}
}
dataTask.resume()
}
private func toAppModel(item: WeatherCardItem) -> ShortsItem {
ShortsItem(id: UUID().uuidString,
images: <#T##[ShortsItemImage]#>,
overlayImages: <#T##[ShortsItemImage]#>,
updatedAtInSecs: <#T##TimeInterval#>,
startsAtInSecs: <#T##TimeInterval#>,
endsAtInSecs: <#T##TimeInterval#>,
shareURL: <#T##URL?#>,
title: <#T##String#>,
summaryText: <#T##String#>,
sourceName: <#T##String#>,
heartCount: <#T##Int#>,
shortURL: <#T##URL?#>,
ctaText: <#T##String#>,
ctaURL: <#T##URL?#>,
likeCount: <#T##Int#>,
shareCount: <#T##Int#>)
}
}
//
// GraphQLResponse.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
private struct Data: Codable {
let weatherCardObjectCollection: WeatherCardObjectCollection
}
private struct WeatherCardObjectCollection: Codable {
let items: [WeatherCardItem]
}
struct GrapQLResponse: Codable {
private let data: Data
var weatherItems: [WeatherCardItem] {
return data.weatherCardObjectCollection.items
}
}
//
// MediaArrayObjectCollection.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
struct MediaArrayObjectCollection: Codable {
}
//
// MediaObjectImage.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
struct MediaObjectImageItem: Codable {
let lowresolution: URL
let highresolution: URL
}
struct MediaObjectImage: Codable {
let baseImage: [MediaObjectImageItem]
let overlayImage: [MediaObjectImageItem]
}
//
// MediaObjectItem.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
struct MediaObjectItem: Codable {
let title: String
let summary: String
let image: MediaObjectImage
}
//
// WeatherCardItem.swift
// InMobiGraphQLSource
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import Foundation
struct WeatherCardItem: Codable {
let shortsCategores: String
let sourceUrl: URL
let buttonText: String
let publishedAt: Date
let mediaArrayObjectCollection: MediaArrayObjectCollection
}
//
// InMobiGraphQLSourceTests.swift
// InMobiGraphQLSourceTests
//
// Created by Dmitry Stepanets on 24.09.2021.
//
import XCTest
@testable import InMobiGraphQLSource
class InMobiGraphQLSourceTests: XCTestCase {
override func setUpWithError() throws {
// Put setup code here. This method is called before the invocation of each test method in the class.
}
override func tearDownWithError() throws {
// Put teardown code here. This method is called after the invocation of each test method in the class.
}
func testExample() throws {
// This is an example of a functional test case.
// Use XCTAssert and related functions to verify your tests produce the correct results.
}
func testPerformanceExample() throws {
// This is an example of a performance test case.
self.measure {
// Put the code you want to measure the time of here.
}
}
}
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment