Commit 1943a4ce by Dmitriy Stepanets

Fnished Core. Integrating WDTWeatherSource.

parent dfa21bff
...@@ -16,7 +16,6 @@ ...@@ -16,7 +16,6 @@
87DE8C81263BFBCE00E1C8D4 /* LegacyMigrationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */; }; 87DE8C81263BFBCE00E1C8D4 /* LegacyMigrationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */; };
87DE8CB2263C09BA00E1C8D4 /* LegacyWdtLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */; }; 87DE8CB2263C09BA00E1C8D4 /* LegacyWdtLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */; };
87DE8CF4263C267B00E1C8D4 /* LegacySettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */; }; 87DE8CF4263C267B00E1C8D4 /* LegacySettings.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */; };
87DE8D01263C4ADD00E1C8D4 /* WdtHealth.swift in Sources */ = {isa = PBXBuildFile; fileRef = 87DE8D00263C4ADD00E1C8D4 /* WdtHealth.swift */; };
C27F92C189A9C9E637AF6C3A /* Pods_OneWeatherNotificationServiceExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 871EA87D239E6F89F6F8818E /* Pods_OneWeatherNotificationServiceExtension.framework */; }; C27F92C189A9C9E637AF6C3A /* Pods_OneWeatherNotificationServiceExtension.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 871EA87D239E6F89F6F8818E /* Pods_OneWeatherNotificationServiceExtension.framework */; };
CD1237C3255D5C5900C98139 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD1237C2255D5C5900C98139 /* AppDelegate.swift */; }; CD1237C3255D5C5900C98139 /* AppDelegate.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD1237C2255D5C5900C98139 /* AppDelegate.swift */; };
CD1237CC255D5C5C00C98139 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD1237CB255D5C5C00C98139 /* Assets.xcassets */; }; CD1237CC255D5C5C00C98139 /* Assets.xcassets in Resources */ = {isa = PBXBuildFile; fileRef = CD1237CB255D5C5C00C98139 /* Assets.xcassets */; };
...@@ -137,6 +136,8 @@ ...@@ -137,6 +136,8 @@
CDF8F12A262089A200DB384A /* MapTimeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF8F129262089A200DB384A /* MapTimeView.swift */; }; CDF8F12A262089A200DB384A /* MapTimeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF8F129262089A200DB384A /* MapTimeView.swift */; };
CDF8F12D26208E7B00DB384A /* MapCurrentTimeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF8F12C26208E7B00DB384A /* MapCurrentTimeView.swift */; }; CDF8F12D26208E7B00DB384A /* MapCurrentTimeView.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF8F12C26208E7B00DB384A /* MapCurrentTimeView.swift */; };
CDF9BF8E26133D050037847D /* LocationSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF9BF8D26133D050037847D /* LocationSearchCoordinator.swift */; }; CDF9BF8E26133D050037847D /* LocationSearchCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDF9BF8D26133D050037847D /* LocationSearchCoordinator.swift */; };
CDFE45BC26566EF50021A29F /* WDTWeatherSource.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE45BB26566EF50021A29F /* WDTWeatherSource.framework */; };
CDFE45BD26566EF50021A29F /* WDTWeatherSource.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE45BB26566EF50021A29F /* WDTWeatherSource.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
CE04561F26282325003D252B /* NWSCurrentEventsReponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE04561E26282325003D252B /* NWSCurrentEventsReponse.swift */; }; CE04561F26282325003D252B /* NWSCurrentEventsReponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE04561E26282325003D252B /* NWSCurrentEventsReponse.swift */; };
CE0456242629C04C003D252B /* NWSAlertsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE0456232629C04C003D252B /* NWSAlertsManager.swift */; }; CE0456242629C04C003D252B /* NWSAlertsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE0456232629C04C003D252B /* NWSAlertsManager.swift */; };
CE0457902632B3BC00B3C19A /* NotificationsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE04578F2632B3BC00B3C19A /* NotificationsViewModel.swift */; }; CE0457902632B3BC00B3C19A /* NotificationsViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE04578F2632B3BC00B3C19A /* NotificationsViewModel.swift */; };
...@@ -170,7 +171,6 @@ ...@@ -170,7 +171,6 @@
CE13B97B2626FB11007CBD4D /* PSMLocationSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE13B7DC262478E7007CBD4D /* PSMLocationSDK.xcframework */; }; CE13B97B2626FB11007CBD4D /* PSMLocationSDK.xcframework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE13B7DC262478E7007CBD4D /* PSMLocationSDK.xcframework */; };
CE13B97C2626FB11007CBD4D /* PSMLocationSDK.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE13B7DC262478E7007CBD4D /* PSMLocationSDK.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; }; CE13B97C2626FB11007CBD4D /* PSMLocationSDK.xcframework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CE13B7DC262478E7007CBD4D /* PSMLocationSDK.xcframework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
CE14445F2638B6CF008E2162 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE14445E2638B6CF008E2162 /* StoreKit.framework */; }; CE14445F2638B6CF008E2162 /* StoreKit.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CE14445E2638B6CF008E2162 /* StoreKit.framework */; };
CE28474F26159857006C8DC5 /* HealthSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE28474E26159857006C8DC5 /* HealthSource.swift */; };
CE28475226159A32006C8DC5 /* BlendHealthModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE28475126159A32006C8DC5 /* BlendHealthModels.swift */; }; CE28475226159A32006C8DC5 /* BlendHealthModels.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE28475126159A32006C8DC5 /* BlendHealthModels.swift */; };
CE2847602615A8AD006C8DC5 /* BlendHealthSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */; }; CE2847602615A8AD006C8DC5 /* BlendHealthSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */; };
CE308B262637EA88001ECD8A /* CoreNotifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE308B242637EA87001ECD8A /* CoreNotifications.swift */; }; CE308B262637EA88001ECD8A /* CoreNotifications.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE308B242637EA87001ECD8A /* CoreNotifications.swift */; };
...@@ -209,27 +209,14 @@ ...@@ -209,27 +209,14 @@
CE9F01BB261B31A6009BA500 /* CoreDataError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01BA261B31A6009BA500 /* CoreDataError.swift */; }; CE9F01BB261B31A6009BA500 /* CoreDataError.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01BA261B31A6009BA500 /* CoreDataError.swift */; };
CE9F01BE261B34C0009BA500 /* CoreDataAppModelConvertable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01BD261B34C0009BA500 /* CoreDataAppModelConvertable.swift */; }; CE9F01BE261B34C0009BA500 /* CoreDataAppModelConvertable.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01BD261B34C0009BA500 /* CoreDataAppModelConvertable.swift */; };
CE9F01C1261B3776009BA500 /* CoreDataUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01C0261B3776009BA500 /* CoreDataUtils.swift */; }; CE9F01C1261B3776009BA500 /* CoreDataUtils.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01C0261B3776009BA500 /* CoreDataUtils.swift */; };
CE9F01CC261C9A6E009BA500 /* AppData.swift in Sources */ = {isa = PBXBuildFile; fileRef = CE9F01CB261C9A6D009BA500 /* AppData.swift */; };
CEAD00A12577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEAD00A02577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift */; }; CEAD00A12577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEAD00A02577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift */; };
CEAFF0A325E0FF0800DF4EBF /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEAFF0A225E0FF0800DF4EBF /* LocationManager.swift */; }; CEAFF0A325E0FF0800DF4EBF /* LocationManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEAFF0A225E0FF0800DF4EBF /* LocationManager.swift */; };
CEBAC1C62638236D00A89681 /* PushNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBAC1C52638236D00A89681 /* PushNotificationsManager.swift */; }; CEBAC1C62638236D00A89681 /* PushNotificationsManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBAC1C52638236D00A89681 /* PushNotificationsManager.swift */; };
CEBAC1C82638240800A89681 /* DeeplinksRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBAC1C72638240800A89681 /* DeeplinksRouter.swift */; }; CEBAC1C82638240800A89681 /* DeeplinksRouter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBAC1C72638240800A89681 /* DeeplinksRouter.swift */; };
CEBAC2122638968D00A89681 /* FIPSSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEBAC2112638968D00A89681 /* FIPSSource.swift */; };
CEC526FD25E795F700DA58A5 /* WdtWeatherSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC526FC25E795F700DA58A5 /* WdtWeatherSource.swift */; };
CEC5270025E7BACB00DA58A5 /* WdtLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC526FF25E7BACB00DA58A5 /* WdtLocation.swift */; };
CEC5270325E7BB4000DA58A5 /* WdtSurfaceObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC5270225E7BB4000DA58A5 /* WdtSurfaceObservation.swift */; };
CEC5275D25E8E50B00DA58A5 /* WdtDailySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC5275C25E8E50B00DA58A5 /* WdtDailySummary.swift */; };
CEC5276025E92DDA00DA58A5 /* WdtHourlySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC5275F25E92DDA00DA58A5 /* WdtHourlySummary.swift */; };
CEC7D8EE2639FE2700B8836D /* OLInAppStoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC7D8ED2639FE2700B8836D /* OLInAppStoreManager.swift */; }; CEC7D8EE2639FE2700B8836D /* OLInAppStoreManager.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC7D8ED2639FE2700B8836D /* OLInAppStoreManager.swift */; };
CEC8FBAF2639756A0001A6BF /* OnboardingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBAE2639756A0001A6BF /* OnboardingViewController.swift */; }; CEC8FBAF2639756A0001A6BF /* OnboardingViewController.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBAE2639756A0001A6BF /* OnboardingViewController.swift */; };
CEC8FBB2263976240001A6BF /* OnboardingCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBB1263976240001A6BF /* OnboardingCoordinator.swift */; }; CEC8FBB2263976240001A6BF /* OnboardingCoordinator.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBB1263976240001A6BF /* OnboardingCoordinator.swift */; };
CEC8FBB5263976400001A6BF /* OnboardingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBB4263976400001A6BF /* OnboardingViewModel.swift */; }; CEC8FBB5263976400001A6BF /* OnboardingViewModel.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEC8FBB4263976400001A6BF /* OnboardingViewModel.swift */; };
CEDE4E8225EEFD56007457E9 /* WdtWeatherCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE4E7E25EEFD56007457E9 /* WdtWeatherCode.swift */; };
CEDE4E8325EEFD56007457E9 /* WdtLocationResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE4E7F25EEFD56007457E9 /* WdtLocationResponse.swift */; };
CEDE4E8425EEFD56007457E9 /* WdtDailySummariesArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE4E8025EEFD56007457E9 /* WdtDailySummariesArray.swift */; };
CEDE4E8525EEFD56007457E9 /* WdtHourlySummariesArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE4E8125EEFD56007457E9 /* WdtHourlySummariesArray.swift */; };
CEDE4E8925EEFFEF007457E9 /* WdtDayNight.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEDE4E8825EEFFEF007457E9 /* WdtDayNight.swift */; };
CEE0A179262FA9650044C257 /* DelayedSaveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE0A178262FA9650044C257 /* DelayedSaveStorage.swift */; };
CEE0A1A426317A8F0044C257 /* NWSAlertInfoParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */; }; CEE0A1A426317A8F0044C257 /* NWSAlertInfoParser.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */; };
CEF959652600C2F900975FAA /* AnalyticsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959642600C2F900975FAA /* AnalyticsService.swift */; }; CEF959652600C2F900975FAA /* AnalyticsService.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959642600C2F900975FAA /* AnalyticsService.swift */; };
CEF959692600C30500975FAA /* AnalyticsGlobal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959682600C30500975FAA /* AnalyticsGlobal.swift */; }; CEF959692600C30500975FAA /* AnalyticsGlobal.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959682600C30500975FAA /* AnalyticsGlobal.swift */; };
...@@ -239,7 +226,6 @@ ...@@ -239,7 +226,6 @@
CEF959932600C63500975FAA /* Analytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959922600C63500975FAA /* Analytics.swift */; }; CEF959932600C63500975FAA /* Analytics.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959922600C63500975FAA /* Analytics.swift */; };
CEF959982600C88100975FAA /* AnalyticsParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959972600C88100975FAA /* AnalyticsParameter.swift */; }; CEF959982600C88100975FAA /* AnalyticsParameter.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959972600C88100975FAA /* AnalyticsParameter.swift */; };
CEF959A626035A2600975FAA /* DeviceLocationMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959A526035A2600975FAA /* DeviceLocationMonitor.swift */; }; CEF959A626035A2600975FAA /* DeviceLocationMonitor.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEF959A526035A2600975FAA /* DeviceLocationMonitor.swift */; };
CEFB857226174F7A00C5CDD2 /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFB857126174F7A00C5CDD2 /* Storage.swift */; };
CEFB85752617506100C5CDD2 /* CoreDataStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFB85742617506100C5CDD2 /* CoreDataStorage.swift */; }; CEFB85752617506100C5CDD2 /* CoreDataStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CEFB85742617506100C5CDD2 /* CoreDataStorage.swift */; };
CEFB857A2617510700C5CDD2 /* 1WModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = CEFB85782617510700C5CDD2 /* 1WModel.xcdatamodeld */; }; CEFB857A2617510700C5CDD2 /* 1WModel.xcdatamodeld in Sources */ = {isa = PBXBuildFile; fileRef = CEFB85782617510700C5CDD2 /* 1WModel.xcdatamodeld */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -261,6 +247,7 @@ ...@@ -261,6 +247,7 @@
dstPath = ""; dstPath = "";
dstSubfolderSpec = 10; dstSubfolderSpec = 10;
files = ( files = (
CDFE45BD26566EF50021A29F /* WDTWeatherSource.framework in Embed Frameworks */,
CE13B97C2626FB11007CBD4D /* PSMLocationSDK.xcframework in Embed Frameworks */, CE13B97C2626FB11007CBD4D /* PSMLocationSDK.xcframework in Embed Frameworks */,
CD615F7F265523BD00B717DB /* OneWeatherCore.framework in Embed Frameworks */, CD615F7F265523BD00B717DB /* OneWeatherCore.framework in Embed Frameworks */,
); );
...@@ -296,7 +283,6 @@ ...@@ -296,7 +283,6 @@
87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyMigrationManager.swift; sourceTree = "<group>"; }; 87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyMigrationManager.swift; sourceTree = "<group>"; };
87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyWdtLocation.swift; sourceTree = "<group>"; }; 87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacyWdtLocation.swift; sourceTree = "<group>"; };
87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacySettings.swift; sourceTree = "<group>"; }; 87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LegacySettings.swift; sourceTree = "<group>"; };
87DE8D00263C4ADD00E1C8D4 /* WdtHealth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtHealth.swift; sourceTree = "<group>"; };
C8C576F6184B547435CFF0F3 /* Pods-1Weather.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-1Weather.debug.xcconfig"; path = "Target Support Files/Pods-1Weather/Pods-1Weather.debug.xcconfig"; sourceTree = "<group>"; }; C8C576F6184B547435CFF0F3 /* Pods-1Weather.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-1Weather.debug.xcconfig"; path = "Target Support Files/Pods-1Weather/Pods-1Weather.debug.xcconfig"; sourceTree = "<group>"; };
CD1237BF255D5C5900C98139 /* 1Weather.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = 1Weather.app; sourceTree = BUILT_PRODUCTS_DIR; }; CD1237BF255D5C5900C98139 /* 1Weather.app */ = {isa = PBXFileReference; explicitFileType = wrapper.application; includeInIndex = 0; path = 1Weather.app; sourceTree = BUILT_PRODUCTS_DIR; };
CD1237C2255D5C5900C98139 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; }; CD1237C2255D5C5900C98139 /* AppDelegate.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppDelegate.swift; sourceTree = "<group>"; };
...@@ -419,6 +405,7 @@ ...@@ -419,6 +405,7 @@
CDF8F129262089A200DB384A /* MapTimeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTimeView.swift; sourceTree = "<group>"; }; CDF8F129262089A200DB384A /* MapTimeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapTimeView.swift; sourceTree = "<group>"; };
CDF8F12C26208E7B00DB384A /* MapCurrentTimeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapCurrentTimeView.swift; sourceTree = "<group>"; }; CDF8F12C26208E7B00DB384A /* MapCurrentTimeView.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = MapCurrentTimeView.swift; sourceTree = "<group>"; };
CDF9BF8D26133D050037847D /* LocationSearchCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationSearchCoordinator.swift; sourceTree = "<group>"; }; CDF9BF8D26133D050037847D /* LocationSearchCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationSearchCoordinator.swift; sourceTree = "<group>"; };
CDFE45BB26566EF50021A29F /* WDTWeatherSource.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = WDTWeatherSource.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CE04561E26282325003D252B /* NWSCurrentEventsReponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSCurrentEventsReponse.swift; sourceTree = "<group>"; }; CE04561E26282325003D252B /* NWSCurrentEventsReponse.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSCurrentEventsReponse.swift; sourceTree = "<group>"; };
CE0456232629C04C003D252B /* NWSAlertsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSAlertsManager.swift; sourceTree = "<group>"; }; CE0456232629C04C003D252B /* NWSAlertsManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSAlertsManager.swift; sourceTree = "<group>"; };
CE04578F2632B3BC00B3C19A /* NotificationsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewModel.swift; sourceTree = "<group>"; }; CE04578F2632B3BC00B3C19A /* NotificationsViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NotificationsViewModel.swift; sourceTree = "<group>"; };
...@@ -455,7 +442,6 @@ ...@@ -455,7 +442,6 @@
CE13B88D26248A77007CBD4D /* GoogleService-Info-Staging.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info-Staging.plist"; sourceTree = "<group>"; }; CE13B88D26248A77007CBD4D /* GoogleService-Info-Staging.plist */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = text.plist.xml; path = "GoogleService-Info-Staging.plist"; sourceTree = "<group>"; };
CE14445D2638B6A8008E2162 /* 1Weather.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = 1Weather.entitlements; sourceTree = "<group>"; }; CE14445D2638B6A8008E2162 /* 1Weather.entitlements */ = {isa = PBXFileReference; lastKnownFileType = text.plist.entitlements; path = 1Weather.entitlements; sourceTree = "<group>"; };
CE14445E2638B6CF008E2162 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; }; CE14445E2638B6CF008E2162 /* StoreKit.framework */ = {isa = PBXFileReference; lastKnownFileType = wrapper.framework; name = StoreKit.framework; path = System/Library/Frameworks/StoreKit.framework; sourceTree = SDKROOT; };
CE28474E26159857006C8DC5 /* HealthSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HealthSource.swift; sourceTree = "<group>"; };
CE28475126159A32006C8DC5 /* BlendHealthModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlendHealthModels.swift; sourceTree = "<group>"; }; CE28475126159A32006C8DC5 /* BlendHealthModels.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlendHealthModels.swift; sourceTree = "<group>"; };
CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlendHealthSource.swift; sourceTree = "<group>"; }; CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = BlendHealthSource.swift; sourceTree = "<group>"; };
CE308B242637EA87001ECD8A /* CoreNotifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreNotifications.swift; sourceTree = "<group>"; }; CE308B242637EA87001ECD8A /* CoreNotifications.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = CoreNotifications.swift; sourceTree = "<group>"; };
...@@ -496,27 +482,14 @@ ...@@ -496,27 +482,14 @@
CE9F01BA261B31A6009BA500 /* CoreDataError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataError.swift; sourceTree = "<group>"; }; CE9F01BA261B31A6009BA500 /* CoreDataError.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataError.swift; sourceTree = "<group>"; };
CE9F01BD261B34C0009BA500 /* CoreDataAppModelConvertable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataAppModelConvertable.swift; sourceTree = "<group>"; }; CE9F01BD261B34C0009BA500 /* CoreDataAppModelConvertable.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataAppModelConvertable.swift; sourceTree = "<group>"; };
CE9F01C0261B3776009BA500 /* CoreDataUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataUtils.swift; sourceTree = "<group>"; }; CE9F01C0261B3776009BA500 /* CoreDataUtils.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataUtils.swift; sourceTree = "<group>"; };
CE9F01CB261C9A6D009BA500 /* AppData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppData.swift; sourceTree = "<group>"; };
CEAD00A02577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StuffThatIsPresentInTheMainProject.swift; sourceTree = "<group>"; }; CEAD00A02577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = StuffThatIsPresentInTheMainProject.swift; sourceTree = "<group>"; };
CEAFF0A225E0FF0800DF4EBF /* LocationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = "<group>"; }; CEAFF0A225E0FF0800DF4EBF /* LocationManager.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = LocationManager.swift; sourceTree = "<group>"; };
CEBAC1C52638236D00A89681 /* PushNotificationsManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushNotificationsManager.swift; sourceTree = "<group>"; }; CEBAC1C52638236D00A89681 /* PushNotificationsManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = PushNotificationsManager.swift; sourceTree = "<group>"; };
CEBAC1C72638240800A89681 /* DeeplinksRouter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeeplinksRouter.swift; sourceTree = "<group>"; }; CEBAC1C72638240800A89681 /* DeeplinksRouter.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeeplinksRouter.swift; sourceTree = "<group>"; };
CEBAC2112638968D00A89681 /* FIPSSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FIPSSource.swift; sourceTree = "<group>"; };
CEC526FC25E795F700DA58A5 /* WdtWeatherSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtWeatherSource.swift; sourceTree = "<group>"; };
CEC526FF25E7BACB00DA58A5 /* WdtLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtLocation.swift; sourceTree = "<group>"; };
CEC5270225E7BB4000DA58A5 /* WdtSurfaceObservation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtSurfaceObservation.swift; sourceTree = "<group>"; };
CEC5275C25E8E50B00DA58A5 /* WdtDailySummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtDailySummary.swift; sourceTree = "<group>"; };
CEC5275F25E92DDA00DA58A5 /* WdtHourlySummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtHourlySummary.swift; sourceTree = "<group>"; };
CEC7D8ED2639FE2700B8836D /* OLInAppStoreManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OLInAppStoreManager.swift; sourceTree = "<group>"; }; CEC7D8ED2639FE2700B8836D /* OLInAppStoreManager.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = OLInAppStoreManager.swift; sourceTree = "<group>"; };
CEC8FBAE2639756A0001A6BF /* OnboardingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingViewController.swift; sourceTree = "<group>"; }; CEC8FBAE2639756A0001A6BF /* OnboardingViewController.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingViewController.swift; sourceTree = "<group>"; };
CEC8FBB1263976240001A6BF /* OnboardingCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingCoordinator.swift; sourceTree = "<group>"; }; CEC8FBB1263976240001A6BF /* OnboardingCoordinator.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingCoordinator.swift; sourceTree = "<group>"; };
CEC8FBB4263976400001A6BF /* OnboardingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingViewModel.swift; sourceTree = "<group>"; }; CEC8FBB4263976400001A6BF /* OnboardingViewModel.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = OnboardingViewModel.swift; sourceTree = "<group>"; };
CEDE4E7E25EEFD56007457E9 /* WdtWeatherCode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtWeatherCode.swift; sourceTree = "<group>"; };
CEDE4E7F25EEFD56007457E9 /* WdtLocationResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtLocationResponse.swift; sourceTree = "<group>"; };
CEDE4E8025EEFD56007457E9 /* WdtDailySummariesArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtDailySummariesArray.swift; sourceTree = "<group>"; };
CEDE4E8125EEFD56007457E9 /* WdtHourlySummariesArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtHourlySummariesArray.swift; sourceTree = "<group>"; };
CEDE4E8825EEFFEF007457E9 /* WdtDayNight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtDayNight.swift; sourceTree = "<group>"; };
CEE0A178262FA9650044C257 /* DelayedSaveStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelayedSaveStorage.swift; sourceTree = "<group>"; };
CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSAlertInfoParser.swift; sourceTree = "<group>"; }; CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = NWSAlertInfoParser.swift; sourceTree = "<group>"; };
CEF959642600C2F900975FAA /* AnalyticsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsService.swift; sourceTree = "<group>"; }; CEF959642600C2F900975FAA /* AnalyticsService.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsService.swift; sourceTree = "<group>"; };
CEF959682600C30500975FAA /* AnalyticsGlobal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsGlobal.swift; sourceTree = "<group>"; }; CEF959682600C30500975FAA /* AnalyticsGlobal.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsGlobal.swift; sourceTree = "<group>"; };
...@@ -526,7 +499,6 @@ ...@@ -526,7 +499,6 @@
CEF959922600C63500975FAA /* Analytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Analytics.swift; sourceTree = "<group>"; }; CEF959922600C63500975FAA /* Analytics.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Analytics.swift; sourceTree = "<group>"; };
CEF959972600C88100975FAA /* AnalyticsParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsParameter.swift; sourceTree = "<group>"; }; CEF959972600C88100975FAA /* AnalyticsParameter.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AnalyticsParameter.swift; sourceTree = "<group>"; };
CEF959A526035A2600975FAA /* DeviceLocationMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceLocationMonitor.swift; sourceTree = "<group>"; }; CEF959A526035A2600975FAA /* DeviceLocationMonitor.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = DeviceLocationMonitor.swift; sourceTree = "<group>"; };
CEFB857126174F7A00C5CDD2 /* Storage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = "<group>"; };
CEFB85742617506100C5CDD2 /* CoreDataStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataStorage.swift; sourceTree = "<group>"; }; CEFB85742617506100C5CDD2 /* CoreDataStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = CoreDataStorage.swift; sourceTree = "<group>"; };
CEFB85792617510700C5CDD2 /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = "<group>"; }; CEFB85792617510700C5CDD2 /* Model.xcdatamodel */ = {isa = PBXFileReference; lastKnownFileType = wrapper.xcdatamodel; path = Model.xcdatamodel; sourceTree = "<group>"; };
DF826CF4702D9DCCB9A9DD71 /* Pods-1Weather.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-1Weather.release.xcconfig"; path = "Target Support Files/Pods-1Weather/Pods-1Weather.release.xcconfig"; sourceTree = "<group>"; }; DF826CF4702D9DCCB9A9DD71 /* Pods-1Weather.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-1Weather.release.xcconfig"; path = "Target Support Files/Pods-1Weather/Pods-1Weather.release.xcconfig"; sourceTree = "<group>"; };
...@@ -540,6 +512,7 @@ ...@@ -540,6 +512,7 @@
files = ( files = (
CE14445F2638B6CF008E2162 /* StoreKit.framework in Frameworks */, CE14445F2638B6CF008E2162 /* StoreKit.framework in Frameworks */,
CE13B97B2626FB11007CBD4D /* PSMLocationSDK.xcframework in Frameworks */, CE13B97B2626FB11007CBD4D /* PSMLocationSDK.xcframework in Frameworks */,
CDFE45BC26566EF50021A29F /* WDTWeatherSource.framework in Frameworks */,
34EAFD887EF2D1D7449A016C /* Pods_1Weather.framework in Frameworks */, 34EAFD887EF2D1D7449A016C /* Pods_1Weather.framework in Frameworks */,
CD615F7E265523BD00B717DB /* OneWeatherCore.framework in Frameworks */, CD615F7E265523BD00B717DB /* OneWeatherCore.framework in Frameworks */,
); );
...@@ -580,7 +553,6 @@ ...@@ -580,7 +553,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CEAFF09A25DFC79100DF4EBF /* Model */, CEAFF09A25DFC79100DF4EBF /* Model */,
CEC526FC25E795F700DA58A5 /* WdtWeatherSource.swift */,
); );
path = Weather; path = Weather;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1200,7 +1172,6 @@ ...@@ -1200,7 +1172,6 @@
CE13B98026272A13007CBD4D /* Model */, CE13B98026272A13007CBD4D /* Model */,
CE0456232629C04C003D252B /* NWSAlertsManager.swift */, CE0456232629C04C003D252B /* NWSAlertsManager.swift */,
CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */, CEE0A1A326317A8F0044C257 /* NWSAlertInfoParser.swift */,
CEBAC2112638968D00A89681 /* FIPSSource.swift */,
CE3A36C62638A77E002CACC3 /* BlendFIPSSource.swift */, CE3A36C62638A77E002CACC3 /* BlendFIPSSource.swift */,
); );
path = Notifications; path = Notifications;
...@@ -1219,7 +1190,6 @@ ...@@ -1219,7 +1190,6 @@
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CE28474D261597F1006C8DC5 /* Model */, CE28474D261597F1006C8DC5 /* Model */,
CE28474E26159857006C8DC5 /* HealthSource.swift */,
CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */, CE28475F2615A8AD006C8DC5 /* BlendHealthSource.swift */,
); );
path = Health; path = Health;
...@@ -1265,7 +1235,6 @@ ...@@ -1265,7 +1235,6 @@
CE89628F26175DF400CA274A /* Objects */ = { CE89628F26175DF400CA274A /* Objects */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CE9F01CB261C9A6D009BA500 /* AppData.swift */,
CE89629926175DF500CA274A /* Human */, CE89629926175DF500CA274A /* Human */,
CE89629026175DF400CA274A /* Machine */, CE89629026175DF400CA274A /* Machine */,
); );
...@@ -1345,12 +1314,6 @@ ...@@ -1345,12 +1314,6 @@
CEAFF09A25DFC79100DF4EBF /* Model */ = { CEAFF09A25DFC79100DF4EBF /* Model */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CEDE4E7D25EEFD56007457E9 /* HelperObjects */,
CEC526FF25E7BACB00DA58A5 /* WdtLocation.swift */,
CEC5270225E7BB4000DA58A5 /* WdtSurfaceObservation.swift */,
CEC5275C25E8E50B00DA58A5 /* WdtDailySummary.swift */,
CEC5275F25E92DDA00DA58A5 /* WdtHourlySummary.swift */,
87DE8D00263C4ADD00E1C8D4 /* WdtHealth.swift */,
); );
path = Model; path = Model;
sourceTree = "<group>"; sourceTree = "<group>";
...@@ -1371,18 +1334,6 @@ ...@@ -1371,18 +1334,6 @@
path = Onboarding; path = Onboarding;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
CEDE4E7D25EEFD56007457E9 /* HelperObjects */ = {
isa = PBXGroup;
children = (
CEDE4E7F25EEFD56007457E9 /* WdtLocationResponse.swift */,
CEDE4E7E25EEFD56007457E9 /* WdtWeatherCode.swift */,
CEDE4E8025EEFD56007457E9 /* WdtDailySummariesArray.swift */,
CEDE4E8125EEFD56007457E9 /* WdtHourlySummariesArray.swift */,
CEDE4E8825EEFFEF007457E9 /* WdtDayNight.swift */,
);
path = HelperObjects;
sourceTree = "<group>";
};
CEF959632600C2E300975FAA /* Analytics */ = { CEF959632600C2E300975FAA /* Analytics */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -1408,10 +1359,8 @@ ...@@ -1408,10 +1359,8 @@
CEFB856B26174F2E00C5CDD2 /* Storage */ = { CEFB856B26174F2E00C5CDD2 /* Storage */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CEFB857126174F7A00C5CDD2 /* Storage.swift */,
CD16A179262D81880028E74A /* UserDefaultsWrapper.swift */, CD16A179262D81880028E74A /* UserDefaultsWrapper.swift */,
CEFB8577261750DF00C5CDD2 /* CoreData */, CEFB8577261750DF00C5CDD2 /* CoreData */,
CEE0A178262FA9650044C257 /* DelayedSaveStorage.swift */,
87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */, 87DE8C80263BFBCE00E1C8D4 /* LegacyMigrationManager.swift */,
87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */, 87DE8CB1263C09BA00E1C8D4 /* LegacyWdtLocation.swift */,
87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */, 87DE8CF3263C267B00E1C8D4 /* LegacySettings.swift */,
...@@ -1436,6 +1385,7 @@ ...@@ -1436,6 +1385,7 @@
DBFD169AA2AA6A3CB5B68BB5 /* Frameworks */ = { DBFD169AA2AA6A3CB5B68BB5 /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CDFE45BB26566EF50021A29F /* WDTWeatherSource.framework */,
CD615F7D265523BD00B717DB /* OneWeatherCore.framework */, CD615F7D265523BD00B717DB /* OneWeatherCore.framework */,
CE849E372638CE8000DEFFBD /* UserNotifications.framework */, CE849E372638CE8000DEFFBD /* UserNotifications.framework */,
CE14445E2638B6CF008E2162 /* StoreKit.framework */, CE14445E2638B6CF008E2162 /* StoreKit.framework */,
...@@ -1726,7 +1676,6 @@ ...@@ -1726,7 +1676,6 @@
CD7BF15526203E6900A30DF5 /* RadarViewController.swift in Sources */, CD7BF15526203E6900A30DF5 /* RadarViewController.swift in Sources */,
CD82300325D69DE400A05501 /* TodayConditionsCell.swift in Sources */, CD82300325D69DE400A05501 /* TodayConditionsCell.swift in Sources */,
CEF959902600C5A800975FAA /* MoEngageAnalyticsService.swift in Sources */, CEF959902600C5A800975FAA /* MoEngageAnalyticsService.swift in Sources */,
CEC526FD25E795F700DA58A5 /* WdtWeatherSource.swift in Sources */,
CD32CE08260C743B00235081 /* MenuViewModel.swift in Sources */, CD32CE08260C743B00235081 /* MenuViewModel.swift in Sources */,
CD866A76260F77C500E96A5C /* SettingsDetailsCoordinator.swift in Sources */, CD866A76260F77C500E96A5C /* SettingsDetailsCoordinator.swift in Sources */,
CE0457902632B3BC00B3C19A /* NotificationsViewModel.swift in Sources */, CE0457902632B3BC00B3C19A /* NotificationsViewModel.swift in Sources */,
...@@ -1746,8 +1695,6 @@ ...@@ -1746,8 +1695,6 @@
CEF959692600C30500975FAA /* AnalyticsGlobal.swift in Sources */, CEF959692600C30500975FAA /* AnalyticsGlobal.swift in Sources */,
CD866A72260F6A5300E96A5C /* SettingsDetailsCell.swift in Sources */, CD866A72260F6A5300E96A5C /* SettingsDetailsCell.swift in Sources */,
CD6761802625B0F50079D273 /* RadarLayerCell.swift in Sources */, CD6761802625B0F50079D273 /* RadarLayerCell.swift in Sources */,
CEC5270325E7BB4000DA58A5 /* WdtSurfaceObservation.swift in Sources */,
CE28474F26159857006C8DC5 /* HealthSource.swift in Sources */,
CE13B80F262480B3007CBD4D /* BRNativeBannerContainerView.swift in Sources */, CE13B80F262480B3007CBD4D /* BRNativeBannerContainerView.swift in Sources */,
CD6761842625B6A10079D273 /* RadarLayersCellFactory.swift in Sources */, CD6761842625B6A10079D273 /* RadarLayersCellFactory.swift in Sources */,
CD67617C2625A60B0079D273 /* MapLayersDismissAnimator.swift in Sources */, CD67617C2625A60B0079D273 /* MapLayersDismissAnimator.swift in Sources */,
...@@ -1797,7 +1744,6 @@ ...@@ -1797,7 +1744,6 @@
CDAD97B1262042B2007FCFB1 /* MapButton.swift in Sources */, CDAD97B1262042B2007FCFB1 /* MapButton.swift in Sources */,
CD17C60225D15C8500EE884E /* CoordinatorProtocol.swift in Sources */, CD17C60225D15C8500EE884E /* CoordinatorProtocol.swift in Sources */,
CDA5542825EF734200A2E08C /* TodayCellFactory.swift in Sources */, CDA5542825EF734200A2E08C /* TodayCellFactory.swift in Sources */,
CE9F01CC261C9A6E009BA500 /* AppData.swift in Sources */,
CEF959742600C3A400975FAA /* FlurryAnalyticsService.swift in Sources */, CEF959742600C3A400975FAA /* FlurryAnalyticsService.swift in Sources */,
CE2847602615A8AD006C8DC5 /* BlendHealthSource.swift in Sources */, CE2847602615A8AD006C8DC5 /* BlendHealthSource.swift in Sources */,
CD86C22225F0DCCB00F38A16 /* PrecipitationView.swift in Sources */, CD86C22225F0DCCB00F38A16 /* PrecipitationView.swift in Sources */,
...@@ -1806,20 +1752,17 @@ ...@@ -1806,20 +1752,17 @@
CE9F01BE261B34C0009BA500 /* CoreDataAppModelConvertable.swift in Sources */, CE9F01BE261B34C0009BA500 /* CoreDataAppModelConvertable.swift in Sources */,
CD822FF525D6817000A05501 /* TodayForecastCell.swift in Sources */, CD822FF525D6817000A05501 /* TodayForecastCell.swift in Sources */,
CD37D401260DF744002669D6 /* SettingsCell.swift in Sources */, CD37D401260DF744002669D6 /* SettingsCell.swift in Sources */,
CEDE4E8525EEFD56007457E9 /* WdtHourlySummariesArray.swift in Sources */,
CDC6125725E7AB1A00188DA7 /* TodayAirQualityCell.swift in Sources */, CDC6125725E7AB1A00188DA7 /* TodayAirQualityCell.swift in Sources */,
CD8B60AE263819400055CB3F /* NWSAlertViewController.swift in Sources */, CD8B60AE263819400055CB3F /* NWSAlertViewController.swift in Sources */,
CD593BCF2608A50900C93428 /* ForecastHourlyCell.swift in Sources */, CD593BCF2608A50900C93428 /* ForecastHourlyCell.swift in Sources */,
87DE8CF4263C267B00E1C8D4 /* LegacySettings.swift in Sources */, 87DE8CF4263C267B00E1C8D4 /* LegacySettings.swift in Sources */,
CD1DDD332602305200AC62B2 /* ForecastInfoCell.swift in Sources */, CD1DDD332602305200AC62B2 /* ForecastInfoCell.swift in Sources */,
CEDE4E8425EEFD56007457E9 /* WdtDailySummariesArray.swift in Sources */,
CDEE8AD725DA882200C289DE /* ForecastPeriodButton.swift in Sources */, CDEE8AD725DA882200C289DE /* ForecastPeriodButton.swift in Sources */,
CDE18DD125D166F900C80ED9 /* ForecastViewController.swift in Sources */, CDE18DD125D166F900C80ED9 /* ForecastViewController.swift in Sources */,
CE8962AC26175DF500CA274A /* CoreCurrentWeather.swift in Sources */, CE8962AC26175DF500CA274A /* CoreCurrentWeather.swift in Sources */,
CE9F01BB261B31A6009BA500 /* CoreDataError.swift in Sources */, CE9F01BB261B31A6009BA500 /* CoreDataError.swift in Sources */,
CD39F2F525DE9571009FE398 /* ArrowButton.swift in Sources */, CD39F2F525DE9571009FE398 /* ArrowButton.swift in Sources */,
CE8962A526175DF500CA274A /* _CoreHourlyWeather.swift in Sources */, CE8962A526175DF500CA274A /* _CoreHourlyWeather.swift in Sources */,
CEDE4E8325EEFD56007457E9 /* WdtLocationResponse.swift in Sources */,
CD37D3FE260DF726002669D6 /* SettingsCellFactory.swift in Sources */, CD37D3FE260DF726002669D6 /* SettingsCellFactory.swift in Sources */,
CD8E041625F8F91B001785B6 /* ForecastCellFactory.swift in Sources */, CD8E041625F8F91B001785B6 /* ForecastCellFactory.swift in Sources */,
CE8962A826175DF500CA274A /* _CoreCurrentWeather.swift in Sources */, CE8962A826175DF500CA274A /* _CoreCurrentWeather.swift in Sources */,
...@@ -1831,14 +1774,12 @@ ...@@ -1831,14 +1774,12 @@
CE0457952632B3F900B3C19A /* NotificationsCoordinator.swift in Sources */, CE0457952632B3F900B3C19A /* NotificationsCoordinator.swift in Sources */,
CD86246925E672A20097F3FB /* PrecipButton.swift in Sources */, CD86246925E672A20097F3FB /* PrecipButton.swift in Sources */,
CD3F6E6C25FA5A90002DB99B /* PeriodButtonProtocol.swift in Sources */, CD3F6E6C25FA5A90002DB99B /* PeriodButtonProtocol.swift in Sources */,
CEDE4E8225EEFD56007457E9 /* WdtWeatherCode.swift in Sources */,
CE04561F26282325003D252B /* NWSCurrentEventsReponse.swift in Sources */, CE04561F26282325003D252B /* NWSCurrentEventsReponse.swift in Sources */,
CD1DDD30260218AE00AC62B2 /* DaysControlView.swift in Sources */, CD1DDD30260218AE00AC62B2 /* DaysControlView.swift in Sources */,
CE578FE725FB415F00E8B85D /* LocationsViewModel.swift in Sources */, CE578FE725FB415F00E8B85D /* LocationsViewModel.swift in Sources */,
CD82300A25D6B2AF00A05501 /* AppTabBarController.swift in Sources */, CD82300A25D6B2AF00A05501 /* AppTabBarController.swift in Sources */,
CE9F01C1261B3776009BA500 /* CoreDataUtils.swift in Sources */, CE9F01C1261B3776009BA500 /* CoreDataUtils.swift in Sources */,
CDC6126225E8DAB800188DA7 /* MoonPhaseCell.swift in Sources */, CDC6126225E8DAB800188DA7 /* MoonPhaseCell.swift in Sources */,
CEBAC2122638968D00A89681 /* FIPSSource.swift in Sources */,
CD37D3D6260C93B3002669D6 /* MenuCellFactory.swift in Sources */, CD37D3D6260C93B3002669D6 /* MenuCellFactory.swift in Sources */,
CD8B60AD263819400055CB3F /* NWSAlertInfoBlockTableViewCell.swift in Sources */, CD8B60AD263819400055CB3F /* NWSAlertInfoBlockTableViewCell.swift in Sources */,
87D815AC2636D61D0015A6D1 /* NWSAlertViewModel.swift in Sources */, 87D815AC2636D61D0015A6D1 /* NWSAlertViewModel.swift in Sources */,
...@@ -1847,7 +1788,6 @@ ...@@ -1847,7 +1788,6 @@
CD6B303B2572680C004B34B3 /* SelfSizingButton.swift in Sources */, CD6B303B2572680C004B34B3 /* SelfSizingButton.swift in Sources */,
CD9B6B1125DBC723001D9B80 /* CubicCurveAlgorithm.swift in Sources */, CD9B6B1125DBC723001D9B80 /* CubicCurveAlgorithm.swift in Sources */,
CD8B60B4263819790055CB3F /* NotificationsViewController.swift in Sources */, CD8B60B4263819790055CB3F /* NotificationsViewController.swift in Sources */,
CEC5270025E7BACB00DA58A5 /* WdtLocation.swift in Sources */,
CE8962A726175DF500CA274A /* _CoreLocation.swift in Sources */, CE8962A726175DF500CA274A /* _CoreLocation.swift in Sources */,
CD67617026259D220079D273 /* RadarMapLayersController.swift in Sources */, CD67617026259D220079D273 /* RadarMapLayersController.swift in Sources */,
CEC8FBAF2639756A0001A6BF /* OnboardingViewController.swift in Sources */, CEC8FBAF2639756A0001A6BF /* OnboardingViewController.swift in Sources */,
...@@ -1859,13 +1799,11 @@ ...@@ -1859,13 +1799,11 @@
CD4742D0261200500061AC95 /* TodayAlertCell.swift in Sources */, CD4742D0261200500061AC95 /* TodayAlertCell.swift in Sources */,
CD615FCC2655299A00B717DB /* NotificationName+Localization.swift in Sources */, CD615FCC2655299A00B717DB /* NotificationName+Localization.swift in Sources */,
CD15DB4225DA806C00024727 /* TodayForecastTimePeriodCell.swift in Sources */, CD15DB4225DA806C00024727 /* TodayForecastTimePeriodCell.swift in Sources */,
CEE0A179262FA9650044C257 /* DelayedSaveStorage.swift in Sources */,
CE0456242629C04C003D252B /* NWSAlertsManager.swift in Sources */, CE0456242629C04C003D252B /* NWSAlertsManager.swift in Sources */,
CD7F3ABD262443260041C478 /* MapPinnedLayersView.swift in Sources */, CD7F3ABD262443260041C478 /* MapPinnedLayersView.swift in Sources */,
CD5692B42653D46200A3CDBE /* SplashAnimationViewController.swift in Sources */, CD5692B42653D46200A3CDBE /* SplashAnimationViewController.swift in Sources */,
CE8962AB26175DF500CA274A /* CorePollutant.swift in Sources */, CE8962AB26175DF500CA274A /* CorePollutant.swift in Sources */,
87D815AA2636D5E60015A6D1 /* NWSAlertCoordinator.swift in Sources */, 87D815AA2636D5E60015A6D1 /* NWSAlertCoordinator.swift in Sources */,
CEC5276025E92DDA00DA58A5 /* WdtHourlySummary.swift in Sources */,
CE8962AF26175DF500CA274A /* CoreDailyWeather.swift in Sources */, CE8962AF26175DF500CA274A /* CoreDailyWeather.swift in Sources */,
CDE2BF252609D9140085C930 /* ForecastWindButton.swift in Sources */, CDE2BF252609D9140085C930 /* ForecastWindButton.swift in Sources */,
CD32CE16260C77C600235081 /* MenuHeaderButton.swift in Sources */, CD32CE16260C77C600235081 /* MenuHeaderButton.swift in Sources */,
...@@ -1890,7 +1828,6 @@ ...@@ -1890,7 +1828,6 @@
CEF959A626035A2600975FAA /* DeviceLocationMonitor.swift in Sources */, CEF959A626035A2600975FAA /* DeviceLocationMonitor.swift in Sources */,
CD32CDFF260B2E5400235081 /* ForecastDescriptionView.swift in Sources */, CD32CDFF260B2E5400235081 /* ForecastDescriptionView.swift in Sources */,
CD16A17A262D81880028E74A /* UserDefaultsWrapper.swift in Sources */, CD16A17A262D81880028E74A /* UserDefaultsWrapper.swift in Sources */,
CEC5275D25E8E50B00DA58A5 /* WdtDailySummary.swift in Sources */,
CD8B60AC263819400055CB3F /* NWSForecastOfficeTableViewCell.swift in Sources */, CD8B60AC263819400055CB3F /* NWSForecastOfficeTableViewCell.swift in Sources */,
CE9F01B8261B2DB6009BA500 /* _CoreAppData.swift in Sources */, CE9F01B8261B2DB6009BA500 /* _CoreAppData.swift in Sources */,
CDE18DCD25D1666700C80ED9 /* ForecastCoordinator.swift in Sources */, CDE18DCD25D1666700C80ED9 /* ForecastCoordinator.swift in Sources */,
...@@ -1916,8 +1853,6 @@ ...@@ -1916,8 +1853,6 @@
CDF8F12D26208E7B00DB384A /* MapCurrentTimeView.swift in Sources */, CDF8F12D26208E7B00DB384A /* MapCurrentTimeView.swift in Sources */,
CE6F5F0C263C8B3D00973137 /* SmartTextProvider.swift in Sources */, CE6F5F0C263C8B3D00973137 /* SmartTextProvider.swift in Sources */,
CEC7D8EE2639FE2700B8836D /* OLInAppStoreManager.swift in Sources */, CEC7D8EE2639FE2700B8836D /* OLInAppStoreManager.swift in Sources */,
CEFB857226174F7A00C5CDD2 /* Storage.swift in Sources */,
87DE8D01263C4ADD00E1C8D4 /* WdtHealth.swift in Sources */,
CD82300725D6A73F00A05501 /* TodayConditionButton.swift in Sources */, CD82300725D6A73F00A05501 /* TodayConditionButton.swift in Sources */,
CE13B7EB2624805F007CBD4D /* Constants.swift in Sources */, CE13B7EB2624805F007CBD4D /* Constants.swift in Sources */,
CDC6126A25E90C8800188DA7 /* GraphLineSettings.swift in Sources */, CDC6126A25E90C8800188DA7 /* GraphLineSettings.swift in Sources */,
...@@ -1929,7 +1864,6 @@ ...@@ -1929,7 +1864,6 @@
CE578FE525FB415F00E8B85D /* CityCell.swift in Sources */, CE578FE525FB415F00E8B85D /* CityCell.swift in Sources */,
CEAFF0A325E0FF0800DF4EBF /* LocationManager.swift in Sources */, CEAFF0A325E0FF0800DF4EBF /* LocationManager.swift in Sources */,
CEAD00A12577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift in Sources */, CEAD00A12577B2D5003596AD /* StuffThatIsPresentInTheMainProject.swift in Sources */,
CEDE4E8925EEFFEF007457E9 /* WdtDayNight.swift in Sources */,
CE13B820262480B3007CBD4D /* AdLogger.swift in Sources */, CE13B820262480B3007CBD4D /* AdLogger.swift in Sources */,
); );
runOnlyForDeploymentPostprocessing = 0; runOnlyForDeploymentPostprocessing = 0;
......
...@@ -12,7 +12,7 @@ ...@@ -12,7 +12,7 @@
<key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key> <key>OneWeatherNotificationServiceExtension.xcscheme_^#shared#^_</key>
<dict> <dict>
<key>orderHint</key> <key>orderHint</key>
<integer>44</integer> <integer>45</integer>
</dict> </dict>
<key>PG (Playground) 1.xcscheme</key> <key>PG (Playground) 1.xcscheme</key>
<dict> <dict>
......
...@@ -2,6 +2,9 @@ ...@@ -2,6 +2,9 @@
<Workspace <Workspace
version = "1.0"> version = "1.0">
<FileRef <FileRef
location = "group:WDTWeatherSource/WDTWeatherSource.xcodeproj">
</FileRef>
<FileRef
location = "group:OneWeatherCore/OneWeatherCore.xcodeproj"> location = "group:OneWeatherCore/OneWeatherCore.xcodeproj">
</FileRef> </FileRef>
<FileRef <FileRef
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import FBAudienceNetwork import FBAudienceNetwork
import OneWeatherCore
class AdCacheManager: NSObject { class AdCacheManager: NSObject {
......
...@@ -13,6 +13,7 @@ import FBAudienceNetwork ...@@ -13,6 +13,7 @@ import FBAudienceNetwork
import GoogleMobileAds import GoogleMobileAds
import IASDKCore import IASDKCore
import Flurry_iOS_SDK import Flurry_iOS_SDK
import OneWeatherCore
public class AdManager { public class AdManager {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
public class Analytics { public class Analytics {
private let services: [AnalyticsService] private let services: [AnalyticsService]
......
...@@ -13,7 +13,7 @@ import MoEngage ...@@ -13,7 +13,7 @@ import MoEngage
import GoogleMobileAds import GoogleMobileAds
import Swarm import Swarm
import DTBiOSSDK import DTBiOSSDK
import OneWeatherCore
@main @main
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class AppCoordinator: Coordinator { class AppCoordinator: Coordinator {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
class DeeplinksRouter { class DeeplinksRouter {
static let urlScheme = "oneweather" static let urlScheme = "oneweather"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NWSAlertCoordinator: Coordinator { class NWSAlertCoordinator: Coordinator {
private let parentViewController:UIViewController private let parentViewController:UIViewController
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NotificationsCoordinator: Coordinator { class NotificationsCoordinator: Coordinator {
private let parentViewController:UIViewController private let parentViewController:UIViewController
......
...@@ -8,9 +8,9 @@ ...@@ -8,9 +8,9 @@
import UIKit import UIKit
import StoreKit import StoreKit
import OneWeatherCore
// Ported from ObjC // Ported from ObjC
protocol OLInAppStoreManagerUIDelegate: AnyObject { protocol OLInAppStoreManagerUIDelegate: AnyObject {
func viewControllerForPresentation() -> UIViewController func viewControllerForPresentation() -> UIViewController
} }
......
...@@ -18,6 +18,7 @@ import CryptoKit ...@@ -18,6 +18,7 @@ import CryptoKit
import FBAudienceNetwork import FBAudienceNetwork
import PSMLocationSDK import PSMLocationSDK
import DTBiOSSDK import DTBiOSSDK
import OneWeatherCore
fileprivate let APP_NAME = "ONE_WEATHER" fileprivate let APP_NAME = "ONE_WEATHER"
fileprivate let DEVICE_TYPE = "IOS" fileprivate let DEVICE_TYPE = "IOS"
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import Foundation import Foundation
import CoreLocation import CoreLocation
import UIKit import UIKit
import OneWeatherCore
internal protocol DeviceLocationMonitorDelegate: AnyObject { internal protocol DeviceLocationMonitorDelegate: AnyObject {
func deviceLocationMonitor(_ monitor: DeviceLocationMonitor, didUpdateLocation newLocation: PartialLocation) func deviceLocationMonitor(_ monitor: DeviceLocationMonitor, didUpdateLocation newLocation: PartialLocation)
......
...@@ -9,6 +9,8 @@ import Foundation ...@@ -9,6 +9,8 @@ import Foundation
import CoreLocation import CoreLocation
import UIKit import UIKit
import MoEngage import MoEngage
import OneWeatherCore
import WDTWeatherSource
public protocol LocationManagerDelegate: AnyObject { public protocol LocationManagerDelegate: AnyObject {
func locationManager(_ locationManager: LocationManager, changedSelectedLocation newLocation: Location?) func locationManager(_ locationManager: LocationManager, changedSelectedLocation newLocation: Location?)
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
private enum Macro: String { private enum Macro: String {
case feelsLikeTemp = "#FEELS_LIKE_TEMP#" case feelsLikeTemp = "#FEELS_LIKE_TEMP#"
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class WeatherImageProvider { class WeatherImageProvider {
private enum DefaultImage: String { private enum DefaultImage: String {
......
...@@ -9,6 +9,7 @@ ...@@ -9,6 +9,7 @@
import Foundation import Foundation
import Firebase import Firebase
import FirebaseRemoteConfig import FirebaseRemoteConfig
import OneWeatherCore
public struct AppConfig: Codable { public struct AppConfig: Codable {
let popularCities: [GeoNamesPlace]? let popularCities: [GeoNamesPlace]?
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
public enum BlendHealthSourceError: Error { public enum BlendHealthSourceError: Error {
case insufficientLocationInfo case insufficientLocationInfo
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import Foundation import Foundation
import UIKit import UIKit
import OneWeatherCore
// MARK: - HealthCenter // MARK: - HealthCenter
struct BlendHealthCenter: Codable { struct BlendHealthCenter: Codable {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
class BlendFIPSSource: FIPSSource { class BlendFIPSSource: FIPSSource {
private let log = Logger(componentName: "BlendFIPSSource") private let log = Logger(componentName: "BlendFIPSSource")
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
struct NWSCurrentEventsReponse: Codable { struct NWSCurrentEventsReponse: Codable {
struct Wrapper: Codable { struct Wrapper: Codable {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
class NWSAlertInfoParser { class NWSAlertInfoParser {
private var strongSelfReference: NWSAlertInfoParser? private var strongSelfReference: NWSAlertInfoParser?
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
public enum NWSError: Error { public enum NWSError: Error {
case insufficientLocationInfo case insufficientLocationInfo
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import Firebase import Firebase
import FirebaseRemoteConfig import FirebaseRemoteConfig
import OneWeatherCore
class PopularCitiesManager { class PopularCitiesManager {
public static let shared = PopularCitiesManager() public static let shared = PopularCitiesManager()
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import Foundation import Foundation
import MoEngage import MoEngage
import OneWeatherCore
public class PushNotificationsManager: NSObject { public class PushNotificationsManager: NSObject {
// MARK: - Private // MARK: - Private
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import Foundation import Foundation
import CoreLocation import CoreLocation
import XMLCoder import XMLCoder
import OneWeatherCore
public enum WdtWeatherSourceError: Error { public enum WdtWeatherSourceError: Error {
case insufficientLocationInfo case insufficientLocationInfo
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
public class CoreDataStorage: Storage { public class CoreDataStorage: Storage {
private var lastSavedAppData: AppData? = nil private var lastSavedAppData: AppData? = nil
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreAirQuality) @objc(CoreAirQuality)
open class CoreAirQuality: _CoreAirQuality, CoreDataAppModelConvertable { open class CoreAirQuality: _CoreAirQuality, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreAppData) @objc(CoreAppData)
open class CoreAppData: _CoreAppData, CoreDataAppModelConvertable { open class CoreAppData: _CoreAppData, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreCurrentWeather) @objc(CoreCurrentWeather)
open class CoreCurrentWeather: _CoreCurrentWeather, CoreDataAppModelConvertable { open class CoreCurrentWeather: _CoreCurrentWeather, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreDailyWeather) @objc(CoreDailyWeather)
open class CoreDailyWeather: _CoreDailyWeather, CoreDataAppModelConvertable { open class CoreDailyWeather: _CoreDailyWeather, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreHealth) @objc(CoreHealth)
open class CoreHealth: _CoreHealth, CoreDataAppModelConvertable { open class CoreHealth: _CoreHealth, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreHourlyWeather) @objc(CoreHourlyWeather)
open class CoreHourlyWeather: _CoreHourlyWeather, CoreDataAppModelConvertable { open class CoreHourlyWeather: _CoreHourlyWeather, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreLocation) @objc(CoreLocation)
open class CoreLocation: _CoreLocation, CoreDataAppModelConvertable { open class CoreLocation: _CoreLocation, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreNWSAlert) @objc(CoreNWSAlert)
open class CoreNWSAlert: _CoreNWSAlert, CoreDataAppModelConvertable { open class CoreNWSAlert: _CoreNWSAlert, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CoreNotifications) @objc(CoreNotifications)
open class CoreNotifications: _CoreNotifications, CoreDataAppModelConvertable { open class CoreNotifications: _CoreNotifications, CoreDataAppModelConvertable {
......
import Foundation import Foundation
import CoreData import CoreData
import OneWeatherCore
@objc(CorePollutant) @objc(CorePollutant)
open class CorePollutant: _CorePollutant, CoreDataAppModelConvertable { open class CorePollutant: _CorePollutant, CoreDataAppModelConvertable {
......
...@@ -6,10 +6,9 @@ ...@@ -6,10 +6,9 @@
// //
import Foundation import Foundation
import OneWeatherCore
class LegacyMigrationManager { class LegacyMigrationManager {
typealias Completion = ([PartialLocation]?, MigrationError?) -> () typealias Completion = ([PartialLocation]?, MigrationError?) -> ()
private enum MigrationResult: String { private enum MigrationResult: String {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
// Used in Settings and Widget // Used in Settings and Widget
enum LegacyTempUnits: Int { enum LegacyTempUnits: Int {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
/// locations list, selectedIndex, error /// locations list, selectedIndex, error
public typealias StorageCompletion = ([Location]?, Int?, Error?) -> () public typealias StorageCompletion = ([Location]?, Int?, Error?) -> ()
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NavigationCityButton: UIControl { class NavigationCityButton: UIControl {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
class ForecastDetailPeriodButton: UIControl, PeriodButtonProtocol { class ForecastDetailPeriodButton: UIControl, PeriodButtonProtocol {
private let kGraphInset:CGFloat = 10 private let kGraphInset:CGFloat = 10
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastPeriodButton: UIControl, PeriodButtonProtocol { class ForecastPeriodButton: UIControl, PeriodButtonProtocol {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastWindButton: UIControl, PeriodButtonProtocol { class ForecastWindButton: UIControl, PeriodButtonProtocol {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
public protocol PeriodButtonProtocol: UIControl { public protocol PeriodButtonProtocol: UIControl {
init() init()
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
private struct DailyGraphPoints { private struct DailyGraphPoints {
let maxTempPoints: [CGPoint] let maxTempPoints: [CGPoint]
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
public struct ThemeManager { public struct ThemeManager {
public struct Colors { public struct Colors {
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class MoonPhaseCell: UITableViewCell { class MoonPhaseCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class PrecipButton: UIControl { class PrecipButton: UIControl {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class PrecipitationCell: UITableViewCell { class PrecipitationCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
private struct CircleSegment { private struct CircleSegment {
let chord:CGFloat let chord:CGFloat
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
protocol ForecastDailyCellDelegate: AnyObject { protocol ForecastDailyCellDelegate: AnyObject {
func timePeriodCell(cell:ForecastDailyCell, didSelectButtonAt index:Int) func timePeriodCell(cell:ForecastDailyCell, didSelectButtonAt index:Int)
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastDayCell: UITableViewCell { class ForecastDayCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastHourlyCell: UITableViewCell { class ForecastHourlyCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastInfoCell: UITableViewCell { class ForecastInfoCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class ForecastWindSpeedCell: UITableViewCell { class ForecastWindSpeedCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
protocol DaysControlViewDelegate: AnyObject { protocol DaysControlViewDelegate: AnyObject {
func didSelectButtonAt(index:Int) func didSelectButtonAt(index:Int)
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
protocol CityCellDelegate: AnyObject { protocol CityCellDelegate: AnyObject {
func didSelect(location:PartialLocation) func didSelect(location:PartialLocation)
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class LocationCellFactory: CellFactoryProtocol { class LocationCellFactory: CellFactoryProtocol {
//Private //Private
......
...@@ -6,6 +6,8 @@ ...@@ -6,6 +6,8 @@
// //
import UIKit import UIKit
import OneWeatherCore
//MARK:- Cities View Controller //MARK:- Cities View Controller
class LocationViewController:UIViewController { class LocationViewController:UIViewController {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import AlgoliaSearchClient import AlgoliaSearchClient
import OneWeatherCore
public protocol LocationsViewModelDelegate: AnyObject { public protocol LocationsViewModelDelegate: AnyObject {
func viewModelDidChange(model:LocationsViewModel) func viewModelDidChange(model:LocationsViewModel)
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SafariServices import SafariServices
import OneWeatherCore
class MenuViewController: UIViewController { class MenuViewController: UIViewController {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
fileprivate enum NWSAlertCellType: Int { fileprivate enum NWSAlertCellType: Int {
case header = 0 case header = 0
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NWSAlertInfoBlockTableViewCell: UITableViewCell { class NWSAlertInfoBlockTableViewCell: UITableViewCell {
let titleLabel = UILabel() let titleLabel = UILabel()
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
class NWSForecastOfficeTableViewCell: UITableViewCell { class NWSForecastOfficeTableViewCell: UITableViewCell {
var alert: NWSAlert? var alert: NWSAlert?
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NWSAlertCell: UITableViewCell { class NWSAlertCell: UITableViewCell {
// TODO: we don't have an image for this one? // TODO: we don't have an image for this one?
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class NotificationsViewController: UIViewController { class NotificationsViewController: UIViewController {
private let coordinator: NotificationsCoordinator private let coordinator: NotificationsCoordinator
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class OnboardingViewController: UIViewController { class OnboardingViewController: UIViewController {
private let coordinator: OnboardingCoordinator private let coordinator: OnboardingCoordinator
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
private enum Section { private enum Section {
case weather case weather
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class MapLegendSevereView: UIView { class MapLegendSevereView: UIView {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
private enum LegendType { private enum LegendType {
case weather case weather
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class MapLegendWeatherView: UIView { class MapLegendWeatherView: UIView {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
protocol MapPinnedLayersViewDelegate: AnyObject { protocol MapPinnedLayersViewDelegate: AnyObject {
func didSelectLayer(layerId:String) func didSelectLayer(layerId:String)
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import MapKit import MapKit
import Swarm import Swarm
import OneWeatherCore
class RadarViewController: UIViewController { class RadarViewController: UIViewController {
//Private //Private
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import Localize_Swift import Localize_Swift
import CoreLocation import CoreLocation
import OneWeatherCore
public enum SettingsRow { public enum SettingsRow {
case theme case theme
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import Localize_Swift import Localize_Swift
import OneWeatherCore
class SettingsDetailsCellFactory: CellFactoryProtocol { class SettingsDetailsCellFactory: CellFactoryProtocol {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class SettingsThemeCell: UITableViewCell { class SettingsThemeCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class PollutantView: UIView { class PollutantView: UIView {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import Cirque import Cirque
import OneWeatherCore
private struct AirQualityDataType: CirqueDataType { private struct AirQualityDataType: CirqueDataType {
var color: UIColor var color: UIColor
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class TodayAlertCell: UITableViewCell { class TodayAlertCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
public enum TodayCellType:Int { public enum TodayCellType:Int {
case alert = 0 case alert = 0
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class TodayConditionButton: UIControl { class TodayConditionButton: UIControl {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
class TodayConditionsCell: UITableViewCell { class TodayConditionsCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class DayTimeView: UIView { class DayTimeView: UIView {
private let dayTimeLabel = UILabel() private let dayTimeLabel = UILabel()
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class TodayDayTimesCell: UITableViewCell { class TodayDayTimesCell: UITableViewCell {
//Private //Private
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import SnapKit import SnapKit
import OneWeatherCore
class TodayForecastCell: UITableViewCell { class TodayForecastCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class TodayForecastTimePeriodCell: UITableViewCell { class TodayForecastTimePeriodCell: UITableViewCell {
//Private //Private
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
protocol ForecastViewModelDelegate:ViewModelDelegate { protocol ForecastViewModelDelegate:ViewModelDelegate {
func selectedWeatherDidChange() func selectedWeatherDidChange()
......
...@@ -9,6 +9,7 @@ import UIKit ...@@ -9,6 +9,7 @@ import UIKit
import StoreKit import StoreKit
import MessageUI import MessageUI
import PKHUD import PKHUD
import OneWeatherCore
protocol MenuViewModelDelegate: ViewModelDelegate { protocol MenuViewModelDelegate: ViewModelDelegate {
func viewControllerForPresentation() -> UIViewController func viewControllerForPresentation() -> UIViewController
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
class NWSAlertViewModel: ViewModelProtocol { class NWSAlertViewModel: ViewModelProtocol {
public weak var delegate: ViewModelDelegate? public weak var delegate: ViewModelDelegate?
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
protocol NotificationsViewModelDelegate: ViewModelDelegate { protocol NotificationsViewModelDelegate: ViewModelDelegate {
func viewModel(_ viewModel: NotificationsViewModel, didSelect alert: NWSAlert) func viewModel(_ viewModel: NotificationsViewModel, didSelect alert: NWSAlert)
......
...@@ -8,6 +8,7 @@ ...@@ -8,6 +8,7 @@
import UIKit import UIKit
import Swarm import Swarm
import CoreLocation import CoreLocation
import OneWeatherCore
protocol RadarViewModelDelegate: ViewModelDelegate { protocol RadarViewModelDelegate: ViewModelDelegate {
func viewModel(model:RadarViewModel, didSelectLayer layer:RadarLayer) func viewModel(model:RadarViewModel, didSelectLayer layer:RadarLayer)
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import Localize_Swift import Localize_Swift
import OneWeatherCore
class SettingsDetailsViewModel: ViewModelProtocol { class SettingsDetailsViewModel: ViewModelProtocol {
//Public //Public
......
...@@ -6,7 +6,7 @@ ...@@ -6,7 +6,7 @@
// //
import UIKit import UIKit
import OneWeatherCore
class SettingsViewModel: ViewModelProtocol { class SettingsViewModel: ViewModelProtocol {
let settings = Settings.shared let settings = Settings.shared
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import UIKit import UIKit
import PSMLocationSDK import PSMLocationSDK
import OneWeatherCore
protocol TodayViewModelDelegate: ViewModelDelegate { protocol TodayViewModelDelegate: ViewModelDelegate {
func showOnboarding(viewModel: TodayViewModel) func showOnboarding(viewModel: TodayViewModel)
......
...@@ -62,6 +62,11 @@ ...@@ -62,6 +62,11 @@
CD91685B26552FD000EC04EF /* DefaultSettingsMetric.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD615FD1265529DE00B717DB /* DefaultSettingsMetric.swift */; }; CD91685B26552FD000EC04EF /* DefaultSettingsMetric.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD615FD1265529DE00B717DB /* DefaultSettingsMetric.swift */; };
CD91685E26552FEC00EC04EF /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD91685C26552FEB00EC04EF /* Logger.swift */; }; CD91685E26552FEC00EC04EF /* Logger.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD91685C26552FEB00EC04EF /* Logger.swift */; };
CD91685F26552FEC00EC04EF /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD91685D26552FEC00EC04EF /* Global.swift */; }; CD91685F26552FEC00EC04EF /* Global.swift in Sources */ = {isa = PBXBuildFile; fileRef = CD91685D26552FEC00EC04EF /* Global.swift */; };
CDBC243F2656740E00F9F4E2 /* AppData.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBC243E2656740E00F9F4E2 /* AppData.swift */; };
CDFE458D26566BD50021A29F /* Storage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE458C26566BD50021A29F /* Storage.swift */; };
CDFE458F26566C5F0021A29F /* DelayedSaveStorage.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE458E26566C5E0021A29F /* DelayedSaveStorage.swift */; };
CDFE459426566D7B0021A29F /* HealthSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE459326566D7B0021A29F /* HealthSource.swift */; };
CDFE459626566D860021A29F /* FIPSSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE459526566D860021A29F /* FIPSSource.swift */; };
CFF31454D7A391AB1E363560 /* Pods_OneWeatherCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6ED82DCC42318CBA9646976 /* Pods_OneWeatherCore.framework */; }; CFF31454D7A391AB1E363560 /* Pods_OneWeatherCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = F6ED82DCC42318CBA9646976 /* Pods_OneWeatherCore.framework */; };
/* End PBXBuildFile section */ /* End PBXBuildFile section */
...@@ -136,6 +141,11 @@ ...@@ -136,6 +141,11 @@
CD91685626552FAE00EC04EF /* MulticastDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MulticastDelegate.swift; sourceTree = "<group>"; }; CD91685626552FAE00EC04EF /* MulticastDelegate.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = MulticastDelegate.swift; sourceTree = "<group>"; };
CD91685C26552FEB00EC04EF /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; }; CD91685C26552FEB00EC04EF /* Logger.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Logger.swift; sourceTree = "<group>"; };
CD91685D26552FEC00EC04EF /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = "<group>"; }; CD91685D26552FEC00EC04EF /* Global.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = Global.swift; sourceTree = "<group>"; };
CDBC243E2656740E00F9F4E2 /* AppData.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = AppData.swift; sourceTree = "<group>"; };
CDFE458C26566BD50021A29F /* Storage.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = Storage.swift; sourceTree = "<group>"; };
CDFE458E26566C5E0021A29F /* DelayedSaveStorage.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = DelayedSaveStorage.swift; sourceTree = "<group>"; };
CDFE459326566D7B0021A29F /* HealthSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = HealthSource.swift; sourceTree = "<group>"; };
CDFE459526566D860021A29F /* FIPSSource.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = FIPSSource.swift; sourceTree = "<group>"; };
F6ED82DCC42318CBA9646976 /* Pods_OneWeatherCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OneWeatherCore.framework; sourceTree = BUILT_PRODUCTS_DIR; }; F6ED82DCC42318CBA9646976 /* Pods_OneWeatherCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_OneWeatherCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */ /* End PBXFileReference section */
...@@ -212,6 +222,8 @@ ...@@ -212,6 +222,8 @@
CD615F65265523A400B717DB /* OneWeatherCore */ = { CD615F65265523A400B717DB /* OneWeatherCore */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CDFE459026566D4D0021A29F /* Sources */,
CDFE458B26566BC20021A29F /* Storage */,
CD615F852655269100B717DB /* Protocols */, CD615F852655269100B717DB /* Protocols */,
CD615F942655269200B717DB /* ModelObjects */, CD615F942655269200B717DB /* ModelObjects */,
CD615FB72655293100B717DB /* Extensions */, CD615FB72655293100B717DB /* Extensions */,
...@@ -219,7 +231,6 @@ ...@@ -219,7 +231,6 @@
CD91685526552F9900EC04EF /* Common */, CD91685526552F9900EC04EF /* Common */,
CD615FA3265528F000B717DB /* HelperTypes.swift */, CD615FA3265528F000B717DB /* HelperTypes.swift */,
CD615F66265523A400B717DB /* OneWeatherCore.h */, CD615F66265523A400B717DB /* OneWeatherCore.h */,
CD615F802655243C00B717DB /* WeatherSource.swift */,
CD615F67265523A400B717DB /* Info.plist */, CD615F67265523A400B717DB /* Info.plist */,
); );
path = OneWeatherCore; path = OneWeatherCore;
...@@ -281,6 +292,7 @@ ...@@ -281,6 +292,7 @@
CD615F942655269200B717DB /* ModelObjects */ = { CD615F942655269200B717DB /* ModelObjects */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
CDBC243E2656740E00F9F4E2 /* AppData.swift */,
CD615F862655269200B717DB /* GeoNamesPlace.swift */, CD615F862655269200B717DB /* GeoNamesPlace.swift */,
CD615F872655269200B717DB /* Location.swift */, CD615F872655269200B717DB /* Location.swift */,
CD550FB92655318D00257FB5 /* RadarLayers */, CD550FB92655318D00257FB5 /* RadarLayers */,
...@@ -347,6 +359,25 @@ ...@@ -347,6 +359,25 @@
path = Common; path = Common;
sourceTree = "<group>"; sourceTree = "<group>";
}; };
CDFE458B26566BC20021A29F /* Storage */ = {
isa = PBXGroup;
children = (
CDFE458C26566BD50021A29F /* Storage.swift */,
CDFE458E26566C5E0021A29F /* DelayedSaveStorage.swift */,
);
path = Storage;
sourceTree = "<group>";
};
CDFE459026566D4D0021A29F /* Sources */ = {
isa = PBXGroup;
children = (
CD615F802655243C00B717DB /* WeatherSource.swift */,
CDFE459526566D860021A29F /* FIPSSource.swift */,
CDFE459326566D7B0021A29F /* HealthSource.swift */,
);
path = Sources;
sourceTree = "<group>";
};
F74D258AC48F534A8A9B9EDB /* Frameworks */ = { F74D258AC48F534A8A9B9EDB /* Frameworks */ = {
isa = PBXGroup; isa = PBXGroup;
children = ( children = (
...@@ -494,9 +525,11 @@ ...@@ -494,9 +525,11 @@
CD2D55D626553384007B70F4 /* UserDefaultsValue.swift in Sources */, CD2D55D626553384007B70F4 /* UserDefaultsValue.swift in Sources */,
CD550FBA265531A100257FB5 /* RadarLayer.swift in Sources */, CD550FBA265531A100257FB5 /* RadarLayer.swift in Sources */,
CD550FBB265531A100257FB5 /* RadarLayerType.swift in Sources */, CD550FBB265531A100257FB5 /* RadarLayerType.swift in Sources */,
CDBC243F2656740E00F9F4E2 /* AppData.swift in Sources */,
CD550FBC265531A100257FB5 /* WeatherLayerType.swift in Sources */, CD550FBC265531A100257FB5 /* WeatherLayerType.swift in Sources */,
CD550FBD265531A100257FB5 /* SevereLayerType.swift in Sources */, CD550FBD265531A100257FB5 /* SevereLayerType.swift in Sources */,
CD91685826552FD000EC04EF /* DefaultSettingsFactory.swift in Sources */, CD91685826552FD000EC04EF /* DefaultSettingsFactory.swift in Sources */,
CDFE459626566D860021A29F /* FIPSSource.swift in Sources */,
CD91685926552FD000EC04EF /* DefaultSettings.swift in Sources */, CD91685926552FD000EC04EF /* DefaultSettings.swift in Sources */,
CD91685A26552FD000EC04EF /* DefaultSettingsImperial.swift in Sources */, CD91685A26552FD000EC04EF /* DefaultSettingsImperial.swift in Sources */,
CD91685B26552FD000EC04EF /* DefaultSettingsMetric.swift in Sources */, CD91685B26552FD000EC04EF /* DefaultSettingsMetric.swift in Sources */,
...@@ -505,6 +538,7 @@ ...@@ -505,6 +538,7 @@
CD2D55E0265537DC007B70F4 /* NWSAlertInfoBlock.swift in Sources */, CD2D55E0265537DC007B70F4 /* NWSAlertInfoBlock.swift in Sources */,
CD91685726552FAE00EC04EF /* MulticastDelegate.swift in Sources */, CD91685726552FAE00EC04EF /* MulticastDelegate.swift in Sources */,
CD615FB92655295C00B717DB /* UIColor+Highlight.swift in Sources */, CD615FB92655295C00B717DB /* UIColor+Highlight.swift in Sources */,
CDFE458D26566BD50021A29F /* Storage.swift in Sources */,
CD615FBA2655295C00B717DB /* UIViewController+Alert.swift in Sources */, CD615FBA2655295C00B717DB /* UIViewController+Alert.swift in Sources */,
CD615FBB2655295C00B717DB /* UITabBarController+Append.swift in Sources */, CD615FBB2655295C00B717DB /* UITabBarController+Append.swift in Sources */,
CD615FBD2655295C00B717DB /* Measurement+String.swift in Sources */, CD615FBD2655295C00B717DB /* Measurement+String.swift in Sources */,
...@@ -529,7 +563,9 @@ ...@@ -529,7 +563,9 @@
CD615F96265526E700B717DB /* UpdatableModelObjectInTime.swift in Sources */, CD615F96265526E700B717DB /* UpdatableModelObjectInTime.swift in Sources */,
CD615F97265526E700B717DB /* PartialLocation.swift in Sources */, CD615F97265526E700B717DB /* PartialLocation.swift in Sources */,
CD615F98265526E700B717DB /* GeoNamesPlace.swift in Sources */, CD615F98265526E700B717DB /* GeoNamesPlace.swift in Sources */,
CDFE458F26566C5F0021A29F /* DelayedSaveStorage.swift in Sources */,
CD615F99265526E700B717DB /* Location.swift in Sources */, CD615F99265526E700B717DB /* Location.swift in Sources */,
CDFE459426566D7B0021A29F /* HealthSource.swift in Sources */,
CD615F9A265526E700B717DB /* CurrentWeather.swift in Sources */, CD615F9A265526E700B717DB /* CurrentWeather.swift in Sources */,
CD615F9B265526E700B717DB /* DailyWeather.swift in Sources */, CD615F9B265526E700B717DB /* DailyWeather.swift in Sources */,
CD615F9C265526E700B717DB /* HourlyWeather.swift in Sources */, CD615F9C265526E700B717DB /* HourlyWeather.swift in Sources */,
......
...@@ -7,9 +7,8 @@ ...@@ -7,9 +7,8 @@
import Foundation import Foundation
/// Does the work on the main thread. If the current thread is the main thread, does the work in place. Otherwise dispatches it asynchronously. /// Does the work on the main thread. If the current thread is the main thread, does the work in place. Otherwise dispatches it asynchronously.
func onMain(_ work: @escaping () -> ()) { public func onMain(_ work: @escaping () -> ()) {
if Thread.isMainThread { if Thread.isMainThread {
work() work()
} }
......
...@@ -9,14 +9,14 @@ ...@@ -9,14 +9,14 @@
import Foundation import Foundation
@propertyWrapper @propertyWrapper
struct UserDefaultsOptionalValue<T> { public struct UserDefaultsOptionalValue<T> {
let key: String public let key: String
init(_ key: String) { public init(_ key: String) {
self.key = key self.key = key
} }
var wrappedValue: T? { public var wrappedValue: T? {
get { get {
return UserDefaults.standard.object(forKey: key) as? T return UserDefaults.standard.object(forKey: key) as? T
} }
......
...@@ -9,16 +9,16 @@ ...@@ -9,16 +9,16 @@
import Foundation import Foundation
@propertyWrapper @propertyWrapper
struct UserDefaultsValue<T> { public struct UserDefaultsValue<T> {
let key: String public let key: String
let defaultValue: T public let defaultValue: T
init(_ key: String, defaultValue: T) { public init(_ key: String, defaultValue: T) {
self.key = key self.key = key
self.defaultValue = defaultValue self.defaultValue = defaultValue
} }
var wrappedValue: T { public var wrappedValue: T {
get { get {
return (UserDefaults.standard.object(forKey: key) as? T) ?? defaultValue return (UserDefaults.standard.object(forKey: key) as? T) ?? defaultValue
} }
......
...@@ -8,8 +8,8 @@ ...@@ -8,8 +8,8 @@
import Foundation import Foundation
@propertyWrapper @propertyWrapper
struct UserDefaultsUnitValue<T> { public struct UserDefaultsUnitValue<T> {
var wrappedValue: T { public var wrappedValue: T {
get { get {
// TODO: If we will ever have 2 instances of UserDefaultsUnitValue with the same key at the same time, this cache will become desynchronized. // TODO: If we will ever have 2 instances of UserDefaultsUnitValue with the same key at the same time, this cache will become desynchronized.
if let knownValue = lastKnownValue { if let knownValue = lastKnownValue {
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension CACornerMask { public extension CACornerMask {
static var all:CACornerMask { static var all:CACornerMask {
return [.layerMinXMinYCorner, .layerMaxXMinYCorner, .layerMinXMaxYCorner, .layerMaxXMaxYCorner] return [.layerMinXMinYCorner, .layerMaxXMinYCorner, .layerMinXMaxYCorner, .layerMaxXMaxYCorner]
} }
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
import CoreLocation import CoreLocation
extension CLAuthorizationStatus { public extension CLAuthorizationStatus {
var localized:String { var localized:String {
switch self { switch self {
case .notDetermined: case .notDetermined:
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension Calendar { public extension Calendar {
static func timeZoneCalendar(timeZone:TimeZone) -> Self { static func timeZoneCalendar(timeZone:TimeZone) -> Self {
var cal = Calendar(identifier: current.identifier) var cal = Calendar(identifier: current.identifier)
cal.timeZone = timeZone cal.timeZone = timeZone
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension Dimension { public extension Dimension {
private static var fmt: MeasurementFormatter { private static var fmt: MeasurementFormatter {
let fmt = MeasurementFormatter() let fmt = MeasurementFormatter()
fmt.unitStyle = .long fmt.unitStyle = .long
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UIApplication { public extension UIApplication {
static func openSettings() { static func openSettings() {
guard guard
let bundleIdentifier = Bundle.main.bundleIdentifier, let bundleIdentifier = Bundle.main.bundleIdentifier,
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UIColor { public extension UIColor {
private var isDarkColor: Bool { private var isDarkColor: Bool {
var r, g, b, a: CGFloat var r, g, b, a: CGFloat
(r, g, b, a) = (0, 0, 0, 0) (r, g, b, a) = (0, 0, 0, 0)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UIStackView { public extension UIStackView {
func removeAll() { func removeAll() {
arrangedSubviews.forEach { arrangedSubviews.forEach {
removeArrangedSubview($0) removeArrangedSubview($0)
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UITabBarController { public extension UITabBarController {
func add(viewController:UIViewController) { func add(viewController:UIViewController) {
var existingControllers = [UIViewController]() var existingControllers = [UIViewController]()
existingControllers.append(contentsOf: self.viewControllers ?? [UIViewController]()) existingControllers.append(contentsOf: self.viewControllers ?? [UIViewController]())
......
...@@ -7,8 +7,7 @@ ...@@ -7,8 +7,7 @@
import UIKit import UIKit
extension UITabBarController { public extension UITabBarController {
/** /**
Show or hide the tab bar. Show or hide the tab bar.
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UITableView { public extension UITableView {
//Variable-height UITableView tableHeaderView with autolayout //Variable-height UITableView tableHeaderView with autolayout
func layoutTableHeaderView() { func layoutTableHeaderView() {
guard let headerView = self.tableHeaderView else { return } guard let headerView = self.tableHeaderView else { return }
......
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
import UIKit import UIKit
extension UIViewController { public extension UIViewController {
func showAlert(withTitle title:String?, message:String?) { func showAlert(withTitle title:String?, message:String?) {
guard message != nil, message?.isEmpty == false else { return } guard message != nil, message?.isEmpty == false else { return }
......
...@@ -7,6 +7,6 @@ ...@@ -7,6 +7,6 @@
import UIKit import UIKit
extension UnitPressure { public extension UnitPressure {
static let atmosphere = UnitPressure(symbol: "atm", converter: UnitConverterLinear(coefficient: 101325)) static let atmosphere = UnitPressure(symbol: "atm", converter: UnitConverterLinear(coefficient: 101325))
} }
...@@ -7,12 +7,16 @@ ...@@ -7,12 +7,16 @@
import Foundation import Foundation
/// A helper structure, so that we could work with CoreAppData the same way we work with everything else. /// A helper structure, so that we could work with CoreAppData the same way we work with everything else.
public struct AppData: Equatable { public struct AppData: Equatable {
public let selectedIndex: Int? public let selectedIndex: Int?
public let locations: [Location] public let locations: [Location]
public init(selectedIndex: Int?, locations: [Location]) {
self.selectedIndex = selectedIndex
self.locations = locations
}
public static func == (lhs: Self, rhs: Self) -> Bool { public static func == (lhs: Self, rhs: Self) -> Bool {
guard lhs.selectedIndex == rhs.selectedIndex else { return false } guard lhs.selectedIndex == rhs.selectedIndex else { return false }
guard lhs.locations.count == rhs.locations.count else { return false } guard lhs.locations.count == rhs.locations.count else { return false }
......
...@@ -8,22 +8,22 @@ ...@@ -8,22 +8,22 @@
import Foundation import Foundation
final class GeoNamesPlace: NSObject { final public class GeoNamesPlace: NSObject {
var latitude: String? public var latitude: String?
var longitude : String? public var longitude : String?
var city : String? public var city : String?
var state : String? public var state : String?
var stateCode : String? public var stateCode : String?
var country : String? public var country : String?
var countryCode : String? public var countryCode : String?
var fcodeName : String? // airport if airport public var fcodeName : String? // airport if airport
var toponymName : String? // airport name if fcodeName is airport public var toponymName : String? // airport name if fcodeName is airport
var fipsCode: String? public var fipsCode: String?
var optionalCityId: String? public var optionalCityId: String?
var nickname: String? public var nickname: String?
func detailName() -> String { public func detailName() -> String {
var sb = String() var sb = String()
if let state = self.state { if let state = self.state {
if state.count > 0 { if state.count > 0 {
...@@ -44,7 +44,7 @@ final class GeoNamesPlace: NSObject { ...@@ -44,7 +44,7 @@ final class GeoNamesPlace: NSObject {
return sb return sb
} }
var fullName: String { public var fullName: String {
get { get {
var sb = String() var sb = String()
...@@ -67,7 +67,7 @@ final class GeoNamesPlace: NSObject { ...@@ -67,7 +67,7 @@ final class GeoNamesPlace: NSObject {
} }
} }
override func isEqual(_ object: Any?) -> Bool { public override func isEqual(_ object: Any?) -> Bool {
if let object = object as? GeoNamesPlace { if let object = object as? GeoNamesPlace {
return fullName == object.fullName return fullName == object.fullName
} else { } else {
...@@ -75,7 +75,7 @@ final class GeoNamesPlace: NSObject { ...@@ -75,7 +75,7 @@ final class GeoNamesPlace: NSObject {
} }
} }
override var hash: Int { public override var hash: Int {
return fullName.hashValue return fullName.hashValue
} }
} }
...@@ -96,15 +96,15 @@ extension GeoNamesPlace: Codable { ...@@ -96,15 +96,15 @@ extension GeoNamesPlace: Codable {
} }
extension GeoNamesPlace: PartialLocation { extension GeoNamesPlace: PartialLocation {
var deviceLocation: Bool { public var deviceLocation: Bool {
return false return false
} }
var selected: Bool? { public var selected: Bool? {
return nil return nil
} }
var nameForDisplay: String { public var nameForDisplay: String {
//TODO: refactor this //TODO: refactor this
var sb = String() var sb = String()
let hasCity = cityName?.count ?? 0 > 0 let hasCity = cityName?.count ?? 0 > 0
...@@ -142,27 +142,27 @@ extension GeoNamesPlace: PartialLocation { ...@@ -142,27 +142,27 @@ extension GeoNamesPlace: PartialLocation {
return sb return sb
} }
var lat: String? { public var lat: String? {
return latitude return latitude
} }
var lon: String? { public var lon: String? {
return longitude return longitude
} }
var countryName: String? { public var countryName: String? {
return country return country
} }
var region: String? { public var region: String? {
return stateCode ?? state return stateCode ?? state
} }
var cityName: String? { public var cityName: String? {
return city return city
} }
var timeZoneIdentifier: String? { public var timeZoneIdentifier: String? {
return nil return nil
} }
} }
...@@ -11,6 +11,12 @@ public struct Health: Equatable, Hashable { ...@@ -11,6 +11,12 @@ public struct Health: Equatable, Hashable {
public let lastUpdateTime: Date public let lastUpdateTime: Date
public let airQuality: AirQuality? public let airQuality: AirQuality?
public let pollutants: [String: Pollutant] public let pollutants: [String: Pollutant]
public init(lastUpdateTime: Date, airQuality: AirQuality?, pollutants: [String : Pollutant]) {
self.lastUpdateTime = lastUpdateTime
self.airQuality = airQuality
self.pollutants = pollutants
}
} }
......
...@@ -85,6 +85,27 @@ public struct Location { ...@@ -85,6 +85,27 @@ public struct Location {
return false return false
} }
public init(deviceLocation: Bool, lastWeatherUpdateDate: Date? = nil, coordinates: CLLocationCoordinate2D? = nil, imageName: String? = "ny_bridge", notifications: Notifications? = nil, countryCode: String? = nil, countryName: String? = nil, region: String? = nil, cityName: String? = nil, nickname: String? = nil, zip: String? = nil, fipsCode: String? = nil, timeZone: TimeZone, today: CurrentWeather? = nil, daily: [DailyWeather] = [DailyWeather](), hourly: [HourlyWeather] = [HourlyWeather](), dayTimeForecast: [DayTimeWeather] = [DayTimeWeather](), health: Health? = nil) {
self.deviceLocation = deviceLocation
self.lastWeatherUpdateDate = lastWeatherUpdateDate
self.coordinates = coordinates
self.imageName = imageName
self.notifications = notifications
self.countryCode = countryCode
self.countryName = countryName
self.region = region
self.cityName = cityName
self.nickname = nickname
self.zip = zip
self.fipsCode = fipsCode
self.timeZone = timeZone
self.today = today
self.daily = daily
self.hourly = hourly
self.dayTimeForecast = dayTimeForecast
self.health = health
}
public func equals(to other: Location, onlyCompareLocationInfo: Bool) -> Bool { public func equals(to other: Location, onlyCompareLocationInfo: Bool) -> Bool {
guard !onlyCompareLocationInfo else { guard !onlyCompareLocationInfo else {
return self == other return self == other
......
...@@ -24,6 +24,20 @@ public struct NWSAlert: Codable, Equatable, Hashable { ...@@ -24,6 +24,20 @@ public struct NWSAlert: Codable, Equatable, Hashable {
public var extendedInfo: NWSAlertExtendedInfo? public var extendedInfo: NWSAlertExtendedInfo?
public init(weatherID: String, messageID: String, messageURL: String, severityLevel: NWSSeverityLevel, description: String, expires: Date, weatherMessage: String? = nil, city: String = "", timeZone: TimeZone? = nil, read: Bool = false, extendedInfo: NWSAlertExtendedInfo? = nil) {
self.weatherID = weatherID
self.messageID = messageID
self.messageURL = messageURL
self.severityLevel = severityLevel
self.description = description
self.expires = expires
self.weatherMessage = weatherMessage
self.city = city
self.timeZone = timeZone
self.read = read
self.extendedInfo = extendedInfo
}
// Used to encode/decode a JSON object to send/recieve data with the server // Used to encode/decode a JSON object to send/recieve data with the server
private enum CodingKeys: String, CodingKey { private enum CodingKeys: String, CodingKey {
case weatherID case weatherID
......
...@@ -13,4 +13,12 @@ public struct NWSAlertExtendedInfo: Codable { ...@@ -13,4 +13,12 @@ public struct NWSAlertExtendedInfo: Codable {
public var expiryDate: Date? public var expiryDate: Date?
public var issuer: String? public var issuer: String?
public var infoBlocks: [NWSAlertInfoBlock] = [NWSAlertInfoBlock]() public var infoBlocks: [NWSAlertInfoBlock] = [NWSAlertInfoBlock]()
public init(title: String? = nil, issueDate: Date? = nil, expiryDate: Date? = nil, issuer: String? = nil, infoBlocks: [NWSAlertInfoBlock] = [NWSAlertInfoBlock]()) {
self.title = title
self.issueDate = issueDate
self.expiryDate = expiryDate
self.issuer = issuer
self.infoBlocks = infoBlocks
}
} }
...@@ -8,6 +8,11 @@ ...@@ -8,6 +8,11 @@
import Foundation import Foundation
public struct NWSAlertInfoBlock: Codable { public struct NWSAlertInfoBlock: Codable {
let title: String? public let title: String?
let text: String? public let text: String?
public init(title: String?, text: String?) {
self.title = title
self.text = text
}
} }
...@@ -10,4 +10,9 @@ import Foundation ...@@ -10,4 +10,9 @@ import Foundation
public struct Notifications { public struct Notifications {
public let updatedAt: Date public let updatedAt: Date
public var nwsAlerts: [NWSAlert] public var nwsAlerts: [NWSAlert]
public init(updatedAt: Date, nwsAlerts: [NWSAlert]) {
self.updatedAt = updatedAt
self.nwsAlerts = nwsAlerts
}
} }
...@@ -10,4 +10,9 @@ import UIKit ...@@ -10,4 +10,9 @@ import UIKit
public struct RadarLayer { public struct RadarLayer {
public var pinned = false public var pinned = false
public let layer:RadarLayerType public let layer:RadarLayerType
public init(pinned: Bool = false, layer: RadarLayerType) {
self.pinned = pinned
self.layer = layer
}
} }
...@@ -34,6 +34,25 @@ public struct DailyWeather: Equatable, Hashable { ...@@ -34,6 +34,25 @@ public struct DailyWeather: Equatable, Hashable {
public var moonState: CelestialState? = .normal public var moonState: CelestialState? = .normal
public var moonPhase: MoonPhase? = .unknown public var moonPhase: MoonPhase? = .unknown
public init(lastTimeUpdated: Date, date: Date, timeZone: TimeZone, weekDay: WeekDay, type: WeatherType = .unknown, minTemp: Temperature? = nil, maxTemp: Temperature? = nil, windSpeed: WindSpeed? = nil, windDirection: WindDirection? = nil, precipitationProbability: Percent? = nil, sunrise: Date? = nil, sunset: Date? = nil, sunState: CelestialState? = .normal, moonrise: Date? = nil, moonset: Date? = nil, moonState: CelestialState? = .normal, moonPhase: MoonPhase? = .unknown) {
self.lastTimeUpdated = lastTimeUpdated
self.date = date
self.timeZone = timeZone
self.weekDay = weekDay
self.type = type
self.minTemp = minTemp
self.maxTemp = maxTemp
self.windSpeed = windSpeed
self.windDirection = windDirection
self.precipitationProbability = precipitationProbability
self.sunrise = sunrise
self.sunset = sunset
self.sunState = sunState
self.moonrise = moonrise
self.moonset = moonset
self.moonState = moonState
self.moonPhase = moonPhase
}
} }
extension DailyWeather: UpdatableModelObjectInTime { extension DailyWeather: UpdatableModelObjectInTime {
......
...@@ -24,6 +24,22 @@ public struct HourlyWeather: Equatable, Hashable { ...@@ -24,6 +24,22 @@ public struct HourlyWeather: Equatable, Hashable {
public var precipitationProbability: Percent? public var precipitationProbability: Percent?
public var humidity: Percent? public var humidity: Percent?
public init(lastTimeUpdated: Date, date: Date, timeZone: TimeZone, weekDay: WeekDay, type: WeatherType = .unknown, isDay: Bool, temp: Temperature? = nil, dewPoint: Temperature? = nil, apparentTemp: Temperature? = nil, windSpeed: WindSpeed? = nil, windDirection: WindDirection? = nil, precipitationProbability: Percent? = nil, humidity: Percent? = nil) {
self.lastTimeUpdated = lastTimeUpdated
self.date = date
self.timeZone = timeZone
self.weekDay = weekDay
self.type = type
self.isDay = isDay
self.temp = temp
self.dewPoint = dewPoint
self.apparentTemp = apparentTemp
self.windSpeed = windSpeed
self.windDirection = windDirection
self.precipitationProbability = precipitationProbability
self.humidity = humidity
}
} }
extension HourlyWeather: UpdatableModelObjectInTime { extension HourlyWeather: UpdatableModelObjectInTime {
......
...@@ -8,7 +8,7 @@ ...@@ -8,7 +8,7 @@
import UIKit import UIKit
import Localize_Swift import Localize_Swift
protocol SettingsDelegate: AnyObject { public protocol SettingsDelegate: AnyObject {
func settingsDidChange() func settingsDidChange()
} }
...@@ -17,7 +17,7 @@ public enum AppTheme: Int { ...@@ -17,7 +17,7 @@ public enum AppTheme: Int {
case dark case dark
case system case system
var nameForEvent: String { public var nameForEvent: String {
switch self { switch self {
case .light: case .light:
return "light" return "light"
...@@ -30,8 +30,8 @@ public enum AppTheme: Int { ...@@ -30,8 +30,8 @@ public enum AppTheme: Int {
} }
public class Settings { public class Settings {
static let shared = Settings() public static let shared = Settings()
let delegate = MulticastDelegate<SettingsDelegate>() public let delegate = MulticastDelegate<SettingsDelegate>()
private init() {} private init() {}
@UserDefaultsBasicValue(key: "app_theme") @UserDefaultsBasicValue(key: "app_theme")
......
//
// Storage.swift
// 1Weather
//
// Created by Demid Merzlyakov on 02.04.2021.
//
import Foundation
/// locations list, selectedIndex, error
public typealias StorageCompletion = ([Location]?, Int?, Error?) -> ()
public protocol Storage {
func save(locations: [Location], selectedIndex: Int?)
func load(completion: @escaping StorageCompletion)
}
...@@ -24,7 +24,6 @@ target '1Weather' do ...@@ -24,7 +24,6 @@ target '1Weather' do
pod 'BezierKit' pod 'BezierKit'
pod 'lottie-ios' pod 'lottie-ios'
pod 'Cirque', :git => 'https://github.com/StepanetsDmtry/Cirque.git' pod 'Cirque', :git => 'https://github.com/StepanetsDmtry/Cirque.git'
pod 'XMLCoder', '~> 0.12.0'
pod 'AlgoliaSearchClient', '~> 8.2' pod 'AlgoliaSearchClient', '~> 8.2'
pod 'Flurry-iOS-SDK/FlurrySDK' pod 'Flurry-iOS-SDK/FlurrySDK'
pod 'MoEngage-iOS-SDK' pod 'MoEngage-iOS-SDK'
...@@ -47,9 +46,16 @@ end ...@@ -47,9 +46,16 @@ end
#Core #Core
target 'OneWeatherCore' do target 'OneWeatherCore' do
project 'OneWeatherCore/OneWeatherCore.project' project 'OneWeatherCore/OneWeatherCore.project'
pod 'XMLCoder', '~> 0.12.0'
shared_pods shared_pods
end end
#WDTSource
target 'WDTWeatherSource' do
project 'WDTWeatherSource/WDTWeatherSource.project'
pod 'XMLCoder', '~> 0.12.0'
end
target 'OneWeatherNotificationServiceExtension' do target 'OneWeatherNotificationServiceExtension' do
use_frameworks! use_frameworks!
pod 'MORichNotification' pod 'MORichNotification'
......
...@@ -291,6 +291,6 @@ SPEC CHECKSUMS: ...@@ -291,6 +291,6 @@ SPEC CHECKSUMS:
Swarm: 95393cd52715744c94e3a8475bc20b4de5d79f35 Swarm: 95393cd52715744c94e3a8475bc20b4de5d79f35
XMLCoder: f884dfa894a6f8b7dce465e4f6c02963bf17e028 XMLCoder: f884dfa894a6f8b7dce465e4f6c02963bf17e028
PODFILE CHECKSUM: 0c2405861201a6f3431e069ff33505c571f65b68 PODFILE CHECKSUM: ebf44ef327964f2b037721dca363b54494224177
COCOAPODS: 1.10.1 COCOAPODS: 1.10.1
...@@ -291,6 +291,6 @@ SPEC CHECKSUMS: ...@@ -291,6 +291,6 @@ SPEC CHECKSUMS:
Swarm: 95393cd52715744c94e3a8475bc20b4de5d79f35 Swarm: 95393cd52715744c94e3a8475bc20b4de5d79f35
XMLCoder: f884dfa894a6f8b7dce465e4f6c02963bf17e028 XMLCoder: f884dfa894a6f8b7dce465e4f6c02963bf17e028
PODFILE CHECKSUM: 0c2405861201a6f3431e069ff33505c571f65b68 PODFILE CHECKSUM: ebf44ef327964f2b037721dca363b54494224177
COCOAPODS: 1.10.1 COCOAPODS: 1.10.1
This source diff could not be displayed because it is too large. You can view the blob instead.
...@@ -2676,31 +2676,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN ...@@ -2676,31 +2676,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
THE SOFTWARE. THE SOFTWARE.
## XMLCoder
MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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.
## lottie-ios ## lottie-ios
Apache License Apache License
......
...@@ -2875,37 +2875,6 @@ THE SOFTWARE. ...@@ -2875,37 +2875,6 @@ THE SOFTWARE.
</dict> </dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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>XMLCoder</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string> Apache License <string> Apache License
Version 2.0, January 2004 Version 2.0, January 2004
https://www.apache.org/licenses/ https://www.apache.org/licenses/
......
...@@ -23,7 +23,6 @@ ${BUILT_PRODUCTS_DIR}/PKHUD/PKHUD.framework ...@@ -23,7 +23,6 @@ ${BUILT_PRODUCTS_DIR}/PKHUD/PKHUD.framework
${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework ${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework ${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework ${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework
${BUILT_PRODUCTS_DIR}/XMLCoder/XMLCoder.framework
${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework ${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework
${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework ${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework
${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework ${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework
......
...@@ -22,7 +22,6 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PKHUD.framework ...@@ -22,7 +22,6 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PKHUD.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Swarm.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Swarm.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XMLCoder.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MoPubSDK.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MoPubSDK.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework
......
...@@ -23,7 +23,6 @@ ${BUILT_PRODUCTS_DIR}/PKHUD/PKHUD.framework ...@@ -23,7 +23,6 @@ ${BUILT_PRODUCTS_DIR}/PKHUD/PKHUD.framework
${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework ${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework
${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework ${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework
${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework ${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework
${BUILT_PRODUCTS_DIR}/XMLCoder/XMLCoder.framework
${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework ${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework
${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework ${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework
${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework ${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework
......
...@@ -22,7 +22,6 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PKHUD.framework ...@@ -22,7 +22,6 @@ ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/PKHUD.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/FBLPromises.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/SnapKit.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Swarm.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Swarm.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/XMLCoder.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/Lottie.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MoPubSDK.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/MoPubSDK.framework
${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework ${TARGET_BUILD_DIR}/${FRAMEWORKS_FOLDER_PATH}/nanopb.framework
......
...@@ -199,7 +199,6 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then ...@@ -199,7 +199,6 @@ if [[ "$CONFIGURATION" == "Debug" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework" install_framework "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework"
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
install_framework "${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework" install_framework "${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework"
install_framework "${BUILT_PRODUCTS_DIR}/XMLCoder/XMLCoder.framework"
install_framework "${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework" install_framework "${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework"
install_framework "${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework" install_framework "${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework"
install_framework "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework" install_framework "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework"
...@@ -230,7 +229,6 @@ if [[ "$CONFIGURATION" == "Release" ]]; then ...@@ -230,7 +229,6 @@ if [[ "$CONFIGURATION" == "Release" ]]; then
install_framework "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework" install_framework "${BUILT_PRODUCTS_DIR}/PromisesObjC/FBLPromises.framework"
install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework" install_framework "${BUILT_PRODUCTS_DIR}/SnapKit/SnapKit.framework"
install_framework "${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework" install_framework "${BUILT_PRODUCTS_DIR}/Swarm/Swarm.framework"
install_framework "${BUILT_PRODUCTS_DIR}/XMLCoder/XMLCoder.framework"
install_framework "${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework" install_framework "${BUILT_PRODUCTS_DIR}/lottie-ios/Lottie.framework"
install_framework "${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework" install_framework "${BUILT_PRODUCTS_DIR}/mopub-ios-sdk/MoPubSDK.framework"
install_framework "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework" install_framework "${BUILT_PRODUCTS_DIR}/nanopb/nanopb.framework"
......
...@@ -3,12 +3,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO ...@@ -3,12 +3,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64
EXCLUDED_ARCHS[sdk=iphoneos*] = i386 x86_64 EXCLUDED_ARCHS[sdk=iphoneos*] = i386 x86_64
EXCLUDED_ARCHS[sdk=watchsimulator*] = arm64 EXCLUDED_ARCHS[sdk=watchsimulator*] = arm64
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Logging" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AmazonPublisherServicesSDK/APS_iOS_SDK-4.0.0" "${PODS_ROOT}/FBAudienceNetwork/Static" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKCore" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKMRAID" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKVideo" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleMobileAdsMediationFacebook/FacebookAdapter-6.4.1.0" "${PODS_ROOT}/GoogleMobileAdsMediationFyber/FyberAdapter-7.8.5.0" "${PODS_ROOT}/GoogleMobileAdsMediationMoPub/MoPubAdapter-5.16.2.0" "${PODS_ROOT}/GoogleUserMessagingPlatform/Frameworks/Release" "${PODS_ROOT}/MORichNotification/Frameworks" "${PODS_ROOT}/MoEngage-iOS-SDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/DTBiOSSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FacebookAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FyberAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMobileAds" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MoPubAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UserMessagingPlatform" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Logging" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AmazonPublisherServicesSDK/APS_iOS_SDK-4.0.0" "${PODS_ROOT}/FBAudienceNetwork/Static" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKCore" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKMRAID" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKVideo" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleMobileAdsMediationFacebook/FacebookAdapter-6.4.1.0" "${PODS_ROOT}/GoogleMobileAdsMediationFyber/FyberAdapter-7.8.5.0" "${PODS_ROOT}/GoogleMobileAdsMediationMoPub/MoPubAdapter-5.16.2.0" "${PODS_ROOT}/GoogleUserMessagingPlatform/Frameworks/Release" "${PODS_ROOT}/MORichNotification/Frameworks" "${PODS_ROOT}/MoEngage-iOS-SDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/DTBiOSSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FacebookAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FyberAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMobileAds" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MoPubAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UserMessagingPlatform"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) FBSDKCOCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) FBSDKCOCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient/AlgoliaSearchClient.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit/BezierKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque/Cirque.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Logging/Logging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD/PKHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk/MoPubSDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient/AlgoliaSearchClient.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit/BezierKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque/Cirque.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Logging/Logging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD/PKHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk/MoPubSDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Flurry-iOS-SDK/Flurry" "${PODS_ROOT}/mopub-ios-sdk/MoPubSDK/Internal/Viewability/OMSDK" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Flurry-iOS-SDK/Flurry" "${PODS_ROOT}/mopub-ios-sdk/MoPubSDK/Internal/Viewability/OMSDK"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"sqlite3" -l"stdc++" -l"xml2" -l"xml2.2" -l"z" -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AlgoliaSearchClient" -framework "AudioToolbox" -framework "BezierKit" -framework "CFNetwork" -framework "Cirque" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreTelephony" -framework "CoreVideo" -framework "DTBiOSSDK" -framework "EventKit" -framework "EventKitUI" -framework "FBAudienceNetwork" -framework "FBLPromises" -framework "FBSDKCoreKit" -framework "FacebookAdapter" -framework "FirebaseABTesting" -framework "FirebaseAnalytics" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "Flurry_iOS_SDK" -framework "Foundation" -framework "FyberAdapter" -framework "GoogleAppMeasurement" -framework "GoogleDataTransport" -framework "GoogleMobileAds" -framework "GoogleUtilities" -framework "IASDKCore" -framework "IASDKMRAID" -framework "IASDKVideo" -framework "Localize_Swift" -framework "Logging" -framework "Lottie" -framework "MOAnalytics" -framework "MOMessaging" -framework "MORichNotification" -framework "MediaPlayer" -framework "MessageUI" -framework "MoEngage" -framework "MoEngageCore" -framework "MoPubAdapter" -framework "MoPubSDK" -framework "MobileCoreServices" -framework "PKHUD" -framework "QuartzCore" -framework "SafariServices" -framework "Security" -framework "SnapKit" -framework "StoreKit" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "UserMessagingPlatform" -framework "UserNotifications" -framework "UserNotificationsUI" -framework "WebKit" -framework "XMLCoder" -framework "nanopb" -weak_framework "Accelerate" -weak_framework "Accounts" -weak_framework "AdSupport" -weak_framework "AppTrackingTransparency" -weak_framework "AudioToolbox" -weak_framework "CFNetwork" -weak_framework "CoreGraphics" -weak_framework "CoreMotion" -weak_framework "CoreTelephony" -weak_framework "Foundation" -weak_framework "JavaScriptCore" -weak_framework "LocalAuthentication" -weak_framework "QuartzCore" -weak_framework "SafariServices" -weak_framework "Security" -weak_framework "Social" -weak_framework "StoreKit" -weak_framework "SystemConfiguration" -weak_framework "UIKit" -weak_framework "UserNotifications" -weak_framework "VideoToolbox" -weak_framework "WebKit" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"sqlite3" -l"stdc++" -l"xml2" -l"xml2.2" -l"z" -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AlgoliaSearchClient" -framework "AudioToolbox" -framework "BezierKit" -framework "CFNetwork" -framework "Cirque" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreTelephony" -framework "CoreVideo" -framework "DTBiOSSDK" -framework "EventKit" -framework "EventKitUI" -framework "FBAudienceNetwork" -framework "FBLPromises" -framework "FBSDKCoreKit" -framework "FacebookAdapter" -framework "FirebaseABTesting" -framework "FirebaseAnalytics" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "Flurry_iOS_SDK" -framework "Foundation" -framework "FyberAdapter" -framework "GoogleAppMeasurement" -framework "GoogleDataTransport" -framework "GoogleMobileAds" -framework "GoogleUtilities" -framework "IASDKCore" -framework "IASDKMRAID" -framework "IASDKVideo" -framework "Localize_Swift" -framework "Logging" -framework "Lottie" -framework "MOAnalytics" -framework "MOMessaging" -framework "MORichNotification" -framework "MediaPlayer" -framework "MessageUI" -framework "MoEngage" -framework "MoEngageCore" -framework "MoPubAdapter" -framework "MoPubSDK" -framework "MobileCoreServices" -framework "PKHUD" -framework "QuartzCore" -framework "SafariServices" -framework "Security" -framework "SnapKit" -framework "StoreKit" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "UserMessagingPlatform" -framework "UserNotifications" -framework "UserNotificationsUI" -framework "WebKit" -framework "nanopb" -weak_framework "Accelerate" -weak_framework "Accounts" -weak_framework "AdSupport" -weak_framework "AppTrackingTransparency" -weak_framework "AudioToolbox" -weak_framework "CFNetwork" -weak_framework "CoreGraphics" -weak_framework "CoreMotion" -weak_framework "CoreTelephony" -weak_framework "Foundation" -weak_framework "JavaScriptCore" -weak_framework "LocalAuthentication" -weak_framework "QuartzCore" -weak_framework "SafariServices" -weak_framework "Security" -weak_framework "Social" -weak_framework "StoreKit" -weak_framework "SystemConfiguration" -weak_framework "UIKit" -weak_framework "UserNotifications" -weak_framework "VideoToolbox" -weak_framework "WebKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
...@@ -3,12 +3,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO ...@@ -3,12 +3,12 @@ CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64 EXCLUDED_ARCHS[sdk=appletvsimulator*] = arm64
EXCLUDED_ARCHS[sdk=iphoneos*] = i386 x86_64 EXCLUDED_ARCHS[sdk=iphoneos*] = i386 x86_64
EXCLUDED_ARCHS[sdk=watchsimulator*] = arm64 EXCLUDED_ARCHS[sdk=watchsimulator*] = arm64
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Logging" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AmazonPublisherServicesSDK/APS_iOS_SDK-4.0.0" "${PODS_ROOT}/FBAudienceNetwork/Static" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKCore" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKMRAID" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKVideo" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleMobileAdsMediationFacebook/FacebookAdapter-6.4.1.0" "${PODS_ROOT}/GoogleMobileAdsMediationFyber/FyberAdapter-7.8.5.0" "${PODS_ROOT}/GoogleMobileAdsMediationMoPub/MoPubAdapter-5.16.2.0" "${PODS_ROOT}/GoogleUserMessagingPlatform/Frameworks/Release" "${PODS_ROOT}/MORichNotification/Frameworks" "${PODS_ROOT}/MoEngage-iOS-SDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/DTBiOSSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FacebookAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FyberAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMobileAds" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MoPubAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UserMessagingPlatform" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/Logging" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" "${PODS_ROOT}/AmazonPublisherServicesSDK/APS_iOS_SDK-4.0.0" "${PODS_ROOT}/FBAudienceNetwork/Static" "${PODS_ROOT}/FirebaseAnalytics/Frameworks" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKCore" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKMRAID" "${PODS_ROOT}/Fyber_Marketplace_SDK/IASDKVideo" "${PODS_ROOT}/Google-Mobile-Ads-SDK/Frameworks/GoogleMobileAdsFramework-Current" "${PODS_ROOT}/GoogleAppMeasurement/Frameworks" "${PODS_ROOT}/GoogleMobileAdsMediationFacebook/FacebookAdapter-6.4.1.0" "${PODS_ROOT}/GoogleMobileAdsMediationFyber/FyberAdapter-7.8.5.0" "${PODS_ROOT}/GoogleMobileAdsMediationMoPub/MoPubAdapter-5.16.2.0" "${PODS_ROOT}/GoogleUserMessagingPlatform/Frameworks/Release" "${PODS_ROOT}/MORichNotification/Frameworks" "${PODS_ROOT}/MoEngage-iOS-SDK/Frameworks" "${PODS_XCFRAMEWORKS_BUILD_DIR}/DTBiOSSDK" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FacebookAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FirebaseAnalytics" "${PODS_XCFRAMEWORKS_BUILD_DIR}/FyberAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleAppMeasurement" "${PODS_XCFRAMEWORKS_BUILD_DIR}/GoogleMobileAds" "${PODS_XCFRAMEWORKS_BUILD_DIR}/MoPubAdapter" "${PODS_XCFRAMEWORKS_BUILD_DIR}/UserMessagingPlatform"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) FBSDKCOCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) FBSDKCOCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient/AlgoliaSearchClient.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit/BezierKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque/Cirque.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Logging/Logging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD/PKHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk/MoPubSDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/AlgoliaSearchClient/AlgoliaSearchClient.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/BezierKit/BezierKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Cirque/Cirque.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FBSDKCoreKit/FBSDKCoreKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseABTesting/FirebaseABTesting.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseRemoteConfig/FirebaseRemoteConfig.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Flurry-iOS-SDK/Flurry_iOS_SDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Logging/Logging.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PKHUD/PKHUD.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/SnapKit/SnapKit.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/lottie-ios/Lottie.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/mopub-ios-sdk/MoPubSDK.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks'
LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Flurry-iOS-SDK/Flurry" "${PODS_ROOT}/mopub-ios-sdk/MoPubSDK/Internal/Viewability/OMSDK" LIBRARY_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Flurry-iOS-SDK/Flurry" "${PODS_ROOT}/mopub-ios-sdk/MoPubSDK/Internal/Viewability/OMSDK"
OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"sqlite3" -l"stdc++" -l"xml2" -l"xml2.2" -l"z" -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AlgoliaSearchClient" -framework "AudioToolbox" -framework "BezierKit" -framework "CFNetwork" -framework "Cirque" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreTelephony" -framework "CoreVideo" -framework "DTBiOSSDK" -framework "EventKit" -framework "EventKitUI" -framework "FBAudienceNetwork" -framework "FBLPromises" -framework "FBSDKCoreKit" -framework "FacebookAdapter" -framework "FirebaseABTesting" -framework "FirebaseAnalytics" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "Flurry_iOS_SDK" -framework "Foundation" -framework "FyberAdapter" -framework "GoogleAppMeasurement" -framework "GoogleDataTransport" -framework "GoogleMobileAds" -framework "GoogleUtilities" -framework "IASDKCore" -framework "IASDKMRAID" -framework "IASDKVideo" -framework "Localize_Swift" -framework "Logging" -framework "Lottie" -framework "MOAnalytics" -framework "MOMessaging" -framework "MORichNotification" -framework "MediaPlayer" -framework "MessageUI" -framework "MoEngage" -framework "MoEngageCore" -framework "MoPubAdapter" -framework "MoPubSDK" -framework "MobileCoreServices" -framework "PKHUD" -framework "QuartzCore" -framework "SafariServices" -framework "Security" -framework "SnapKit" -framework "StoreKit" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "UserMessagingPlatform" -framework "UserNotifications" -framework "UserNotificationsUI" -framework "WebKit" -framework "XMLCoder" -framework "nanopb" -weak_framework "Accelerate" -weak_framework "Accounts" -weak_framework "AdSupport" -weak_framework "AppTrackingTransparency" -weak_framework "AudioToolbox" -weak_framework "CFNetwork" -weak_framework "CoreGraphics" -weak_framework "CoreMotion" -weak_framework "CoreTelephony" -weak_framework "Foundation" -weak_framework "JavaScriptCore" -weak_framework "LocalAuthentication" -weak_framework "QuartzCore" -weak_framework "SafariServices" -weak_framework "Security" -weak_framework "Social" -weak_framework "StoreKit" -weak_framework "SystemConfiguration" -weak_framework "UIKit" -weak_framework "UserNotifications" -weak_framework "VideoToolbox" -weak_framework "WebKit" OTHER_LDFLAGS = $(inherited) -ObjC -l"c++" -l"sqlite3" -l"stdc++" -l"xml2" -l"xml2.2" -l"z" -framework "AVFoundation" -framework "AVKit" -framework "AdSupport" -framework "AlgoliaSearchClient" -framework "AudioToolbox" -framework "BezierKit" -framework "CFNetwork" -framework "Cirque" -framework "CoreGraphics" -framework "CoreImage" -framework "CoreLocation" -framework "CoreMedia" -framework "CoreTelephony" -framework "CoreVideo" -framework "DTBiOSSDK" -framework "EventKit" -framework "EventKitUI" -framework "FBAudienceNetwork" -framework "FBLPromises" -framework "FBSDKCoreKit" -framework "FacebookAdapter" -framework "FirebaseABTesting" -framework "FirebaseAnalytics" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "FirebaseRemoteConfig" -framework "Flurry_iOS_SDK" -framework "Foundation" -framework "FyberAdapter" -framework "GoogleAppMeasurement" -framework "GoogleDataTransport" -framework "GoogleMobileAds" -framework "GoogleUtilities" -framework "IASDKCore" -framework "IASDKMRAID" -framework "IASDKVideo" -framework "Localize_Swift" -framework "Logging" -framework "Lottie" -framework "MOAnalytics" -framework "MOMessaging" -framework "MORichNotification" -framework "MediaPlayer" -framework "MessageUI" -framework "MoEngage" -framework "MoEngageCore" -framework "MoPubAdapter" -framework "MoPubSDK" -framework "MobileCoreServices" -framework "PKHUD" -framework "QuartzCore" -framework "SafariServices" -framework "Security" -framework "SnapKit" -framework "StoreKit" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "UserMessagingPlatform" -framework "UserNotifications" -framework "UserNotificationsUI" -framework "WebKit" -framework "nanopb" -weak_framework "Accelerate" -weak_framework "Accounts" -weak_framework "AdSupport" -weak_framework "AppTrackingTransparency" -weak_framework "AudioToolbox" -weak_framework "CFNetwork" -weak_framework "CoreGraphics" -weak_framework "CoreMotion" -weak_framework "CoreTelephony" -weak_framework "Foundation" -weak_framework "JavaScriptCore" -weak_framework "LocalAuthentication" -weak_framework "QuartzCore" -weak_framework "SafariServices" -weak_framework "Security" -weak_framework "Social" -weak_framework "StoreKit" -weak_framework "SystemConfiguration" -weak_framework "UIKit" -weak_framework "UserNotifications" -weak_framework "VideoToolbox" -weak_framework "WebKit"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
...@@ -1768,4 +1768,29 @@ redistribute it freely, subject to the following restrictions: ...@@ -1768,4 +1768,29 @@ redistribute it freely, subject to the following restrictions:
3. This notice may not be removed or altered from any source 3. This notice may not be removed or altered from any source
distribution. distribution.
## XMLCoder
MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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 Generated by CocoaPods - https://cocoapods.org
...@@ -1842,6 +1842,37 @@ redistribute it freely, subject to the following restrictions: ...@@ -1842,6 +1842,37 @@ redistribute it freely, subject to the following restrictions:
</dict> </dict>
<dict> <dict>
<key>FooterText</key> <key>FooterText</key>
<string>MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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>XMLCoder</string>
<key>Type</key>
<string>PSGroupSpecifier</string>
</dict>
<dict>
<key>FooterText</key>
<string>Generated by CocoaPods - https://cocoapods.org</string> <string>Generated by CocoaPods - https://cocoapods.org</string>
<key>Title</key> <key>Title</key>
<string></string> <string></string>
......
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "CoreTelephony" -framework "FBLPromises" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Localize_Swift" -framework "Security" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "nanopb" OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "CoreTelephony" -framework "FBLPromises" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Localize_Swift" -framework "Security" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "XMLCoder" -framework "nanopb"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb" FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1 GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1 $(inherited) PB_FIELD_32BIT=1 PB_NO_PACKED_STRUCTS=1 PB_ENABLE_MALLOC=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include" HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCore/FirebaseCore.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCoreDiagnostics/FirebaseCoreDiagnostics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseCrashlytics/FirebaseCrashlytics.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/FirebaseInstallations/FirebaseInstallations.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleDataTransport/GoogleDataTransport.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/GoogleUtilities/GoogleUtilities.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Localize-Swift/Localize_Swift.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/PromisesObjC/FBLPromises.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/Swarm/Swarm.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers" "${PODS_CONFIGURATION_BUILD_DIR}/nanopb/nanopb.framework/Headers" "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/Firebase" "${PODS_ROOT}/Headers/Public/Fyber_Marketplace_SDK" $(inherited) ${PODS_ROOT}/Firebase/CoreOnly/Sources "${PODS_TARGET_SRCROOT}/Sources/FBLPromises/include"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks' LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "CoreTelephony" -framework "FBLPromises" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Localize_Swift" -framework "Security" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "nanopb" OTHER_LDFLAGS = $(inherited) -l"c++" -l"z" -framework "CoreTelephony" -framework "FBLPromises" -framework "FirebaseCore" -framework "FirebaseCoreDiagnostics" -framework "FirebaseCrashlytics" -framework "FirebaseInstallations" -framework "Foundation" -framework "GoogleDataTransport" -framework "GoogleUtilities" -framework "Localize_Swift" -framework "Security" -framework "Swarm" -framework "SystemConfiguration" -framework "UIKit" -framework "XMLCoder" -framework "nanopb"
OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS OTHER_SWIFT_FLAGS = $(inherited) -D COCOAPODS
PODS_BUILD_DIR = ${BUILD_DIR} PODS_BUILD_DIR = ${BUILD_DIR}
PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME) PODS_CONFIGURATION_BUILD_DIR = ${PODS_BUILD_DIR}/$(CONFIGURATION)$(EFFECTIVE_PLATFORM_NAME)
......
<?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>
# Acknowledgements
This application makes use of the following third party libraries:
## XMLCoder
MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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
<?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>MIT License
Copyright (c) 2018-2019 Shawn Moore and XMLCoder contributors
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>XMLCoder</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>
#import <Foundation/Foundation.h>
@interface PodsDummy_Pods_WDTWeatherSource : NSObject
@end
@implementation PodsDummy_Pods_WDTWeatherSource
@end
#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_WDTWeatherSourceVersionNumber;
FOUNDATION_EXPORT const unsigned char Pods_WDTWeatherSourceVersionString[];
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "XMLCoder"
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
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
framework module Pods_WDTWeatherSource {
umbrella header "Pods-WDTWeatherSource-umbrella.h"
export *
module * { export * }
}
CLANG_WARN_QUOTED_INCLUDE_IN_FRAMEWORK_HEADER = NO
FRAMEWORK_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder"
GCC_PREPROCESSOR_DEFINITIONS = $(inherited) COCOAPODS=1
HEADER_SEARCH_PATHS = $(inherited) "${PODS_CONFIGURATION_BUILD_DIR}/XMLCoder/XMLCoder.framework/Headers"
LD_RUNPATH_SEARCH_PATHS = $(inherited) '@executable_path/Frameworks' '@loader_path/Frameworks' '@executable_path/../../Frameworks'
OTHER_LDFLAGS = $(inherited) -framework "XMLCoder"
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
PODS_XCFRAMEWORKS_BUILD_DIR = $(PODS_CONFIGURATION_BUILD_DIR)/XCFrameworkIntermediates
USE_RECURSIVE_SCRIPT_INPUTS_IN_SCRIPT_PHASES = YES
// !$*UTF8*$!
{
archiveVersion = 1;
classes = {
};
objectVersion = 50;
objects = {
/* Begin PBXBuildFile section */
3A8E26C271B48D84635E8C95 /* Pods_WDTWeatherSource.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = 96BE59B7A83D9CFA327BF4AA /* Pods_WDTWeatherSource.framework */; };
CDBC243D265673B100F9F4E2 /* WdtWeatherSource.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDBC243C265673B100F9F4E2 /* WdtWeatherSource.swift */; };
CDFE45AB26566E7A0021A29F /* WDTWeatherSource.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE45A126566E7A0021A29F /* WDTWeatherSource.framework */; };
CDFE45B026566E7A0021A29F /* WDTWeatherSourceTests.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45AF26566E7A0021A29F /* WDTWeatherSourceTests.swift */; };
CDFE45B226566E7A0021A29F /* WDTWeatherSource.h in Headers */ = {isa = PBXBuildFile; fileRef = CDFE45A426566E7A0021A29F /* WDTWeatherSource.h */; settings = {ATTRIBUTES = (Public, ); }; };
CDFE45C926566F280021A29F /* WdtLocation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C726566F270021A29F /* WdtLocation.swift */; };
CDFE45CA26566F280021A29F /* WdtSurfaceObservation.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C026566F260021A29F /* WdtSurfaceObservation.swift */; };
CDFE45CB26566F280021A29F /* WdtDailySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45BE26566F260021A29F /* WdtDailySummary.swift */; };
CDFE45CC26566F280021A29F /* WdtHealth.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45BF26566F260021A29F /* WdtHealth.swift */; };
CDFE45CD26566F280021A29F /* WdtHourlySummary.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C826566F280021A29F /* WdtHourlySummary.swift */; };
CDFE45CE26566F480021A29F /* WdtLocationResponse.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C126566F270021A29F /* WdtLocationResponse.swift */; };
CDFE45CF26566F480021A29F /* WdtWeatherCode.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C226566F270021A29F /* WdtWeatherCode.swift */; };
CDFE45D026566F480021A29F /* WdtDailySummariesArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C326566F270021A29F /* WdtDailySummariesArray.swift */; };
CDFE45D126566F480021A29F /* WdtHourlySummariesArray.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C426566F270021A29F /* WdtHourlySummariesArray.swift */; };
CDFE45D226566F480021A29F /* WdtDayNight.swift in Sources */ = {isa = PBXBuildFile; fileRef = CDFE45C526566F270021A29F /* WdtDayNight.swift */; };
CDFE45D526566F620021A29F /* OneWeatherCore.framework in Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE45D426566F620021A29F /* OneWeatherCore.framework */; };
CDFE45D626566F620021A29F /* OneWeatherCore.framework in Embed Frameworks */ = {isa = PBXBuildFile; fileRef = CDFE45D426566F620021A29F /* OneWeatherCore.framework */; settings = {ATTRIBUTES = (CodeSignOnCopy, RemoveHeadersOnCopy, ); }; };
/* End PBXBuildFile section */
/* Begin PBXContainerItemProxy section */
CDFE45AC26566E7A0021A29F /* PBXContainerItemProxy */ = {
isa = PBXContainerItemProxy;
containerPortal = CDFE459826566E7A0021A29F /* Project object */;
proxyType = 1;
remoteGlobalIDString = CDFE45A026566E7A0021A29F;
remoteInfo = WDTWeatherSource;
};
/* End PBXContainerItemProxy section */
/* Begin PBXCopyFilesBuildPhase section */
CDFE45D726566F620021A29F /* Embed Frameworks */ = {
isa = PBXCopyFilesBuildPhase;
buildActionMask = 2147483647;
dstPath = "";
dstSubfolderSpec = 10;
files = (
CDFE45D626566F620021A29F /* OneWeatherCore.framework in Embed Frameworks */,
);
name = "Embed Frameworks";
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXCopyFilesBuildPhase section */
/* Begin PBXFileReference section */
2FC441E45268762FD5A08342 /* Pods-WDTWeatherSource.release.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WDTWeatherSource.release.xcconfig"; path = "Target Support Files/Pods-WDTWeatherSource/Pods-WDTWeatherSource.release.xcconfig"; sourceTree = "<group>"; };
96BE59B7A83D9CFA327BF4AA /* Pods_WDTWeatherSource.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = Pods_WDTWeatherSource.framework; sourceTree = BUILT_PRODUCTS_DIR; };
B7E99288E63F28CB0F6FD4BC /* Pods-WDTWeatherSource.debug.xcconfig */ = {isa = PBXFileReference; includeInIndex = 1; lastKnownFileType = text.xcconfig; name = "Pods-WDTWeatherSource.debug.xcconfig"; path = "Target Support Files/Pods-WDTWeatherSource/Pods-WDTWeatherSource.debug.xcconfig"; sourceTree = "<group>"; };
CDBC243C265673B100F9F4E2 /* WdtWeatherSource.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtWeatherSource.swift; sourceTree = "<group>"; };
CDFE45A126566E7A0021A29F /* WDTWeatherSource.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; includeInIndex = 0; path = WDTWeatherSource.framework; sourceTree = BUILT_PRODUCTS_DIR; };
CDFE45A426566E7A0021A29F /* WDTWeatherSource.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = WDTWeatherSource.h; sourceTree = "<group>"; };
CDFE45A526566E7A0021A29F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
CDFE45AA26566E7A0021A29F /* WDTWeatherSourceTests.xctest */ = {isa = PBXFileReference; explicitFileType = wrapper.cfbundle; includeInIndex = 0; path = WDTWeatherSourceTests.xctest; sourceTree = BUILT_PRODUCTS_DIR; };
CDFE45AF26566E7A0021A29F /* WDTWeatherSourceTests.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WDTWeatherSourceTests.swift; sourceTree = "<group>"; };
CDFE45B126566E7A0021A29F /* Info.plist */ = {isa = PBXFileReference; lastKnownFileType = text.plist.xml; path = Info.plist; sourceTree = "<group>"; };
CDFE45BE26566F260021A29F /* WdtDailySummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtDailySummary.swift; sourceTree = "<group>"; };
CDFE45BF26566F260021A29F /* WdtHealth.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtHealth.swift; sourceTree = "<group>"; };
CDFE45C026566F260021A29F /* WdtSurfaceObservation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtSurfaceObservation.swift; sourceTree = "<group>"; };
CDFE45C126566F270021A29F /* WdtLocationResponse.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtLocationResponse.swift; sourceTree = "<group>"; };
CDFE45C226566F270021A29F /* WdtWeatherCode.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtWeatherCode.swift; sourceTree = "<group>"; };
CDFE45C326566F270021A29F /* WdtDailySummariesArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtDailySummariesArray.swift; sourceTree = "<group>"; };
CDFE45C426566F270021A29F /* WdtHourlySummariesArray.swift */ = {isa = PBXFileReference; fileEncoding = 4; lastKnownFileType = sourcecode.swift; path = WdtHourlySummariesArray.swift; sourceTree = "<group>"; };
CDFE45C526566F270021A29F /* WdtDayNight.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtDayNight.swift; sourceTree = "<group>"; };
CDFE45C726566F270021A29F /* WdtLocation.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtLocation.swift; sourceTree = "<group>"; };
CDFE45C826566F280021A29F /* WdtHourlySummary.swift */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.swift; path = WdtHourlySummary.swift; sourceTree = "<group>"; };
CDFE45D426566F620021A29F /* OneWeatherCore.framework */ = {isa = PBXFileReference; explicitFileType = wrapper.framework; path = OneWeatherCore.framework; sourceTree = BUILT_PRODUCTS_DIR; };
/* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */
CDFE459E26566E7A0021A29F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CDFE45D526566F620021A29F /* OneWeatherCore.framework in Frameworks */,
3A8E26C271B48D84635E8C95 /* Pods_WDTWeatherSource.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CDFE45A726566E7A0021A29F /* Frameworks */ = {
isa = PBXFrameworksBuildPhase;
buildActionMask = 2147483647;
files = (
CDFE45AB26566E7A0021A29F /* WDTWeatherSource.framework in Frameworks */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXFrameworksBuildPhase section */
/* Begin PBXGroup section */
6D78A3C78212E658AE349CC9 /* Pods */ = {
isa = PBXGroup;
children = (
B7E99288E63F28CB0F6FD4BC /* Pods-WDTWeatherSource.debug.xcconfig */,
2FC441E45268762FD5A08342 /* Pods-WDTWeatherSource.release.xcconfig */,
);
name = Pods;
path = ../Pods;
sourceTree = "<group>";
};
CDFE459726566E7A0021A29F = {
isa = PBXGroup;
children = (
CDFE45A326566E7A0021A29F /* WDTWeatherSource */,
CDFE45AE26566E7A0021A29F /* WDTWeatherSourceTests */,
CDFE45A226566E7A0021A29F /* Products */,
CDFE45D326566F620021A29F /* Frameworks */,
6D78A3C78212E658AE349CC9 /* Pods */,
);
sourceTree = "<group>";
};
CDFE45A226566E7A0021A29F /* Products */ = {
isa = PBXGroup;
children = (
CDFE45A126566E7A0021A29F /* WDTWeatherSource.framework */,
CDFE45AA26566E7A0021A29F /* WDTWeatherSourceTests.xctest */,
);
name = Products;
sourceTree = "<group>";
};
CDFE45A326566E7A0021A29F /* WDTWeatherSource */ = {
isa = PBXGroup;
children = (
CDFE45C626566F270021A29F /* HelperObjects */,
CDFE45C726566F270021A29F /* WdtLocation.swift */,
CDFE45C026566F260021A29F /* WdtSurfaceObservation.swift */,
CDFE45BE26566F260021A29F /* WdtDailySummary.swift */,
CDFE45C826566F280021A29F /* WdtHourlySummary.swift */,
CDFE45BF26566F260021A29F /* WdtHealth.swift */,
CDFE45A426566E7A0021A29F /* WDTWeatherSource.h */,
CDFE45A526566E7A0021A29F /* Info.plist */,
);
path = WDTWeatherSource;
sourceTree = "<group>";
};
CDFE45AE26566E7A0021A29F /* WDTWeatherSourceTests */ = {
isa = PBXGroup;
children = (
CDFE45AF26566E7A0021A29F /* WDTWeatherSourceTests.swift */,
CDFE45B126566E7A0021A29F /* Info.plist */,
);
path = WDTWeatherSourceTests;
sourceTree = "<group>";
};
CDFE45C626566F270021A29F /* HelperObjects */ = {
isa = PBXGroup;
children = (
CDBC243C265673B100F9F4E2 /* WdtWeatherSource.swift */,
CDFE45C126566F270021A29F /* WdtLocationResponse.swift */,
CDFE45C226566F270021A29F /* WdtWeatherCode.swift */,
CDFE45C326566F270021A29F /* WdtDailySummariesArray.swift */,
CDFE45C426566F270021A29F /* WdtHourlySummariesArray.swift */,
CDFE45C526566F270021A29F /* WdtDayNight.swift */,
);
path = HelperObjects;
sourceTree = "<group>";
};
CDFE45D326566F620021A29F /* Frameworks */ = {
isa = PBXGroup;
children = (
CDFE45D426566F620021A29F /* OneWeatherCore.framework */,
96BE59B7A83D9CFA327BF4AA /* Pods_WDTWeatherSource.framework */,
);
name = Frameworks;
sourceTree = "<group>";
};
/* End PBXGroup section */
/* Begin PBXHeadersBuildPhase section */
CDFE459C26566E7A0021A29F /* Headers */ = {
isa = PBXHeadersBuildPhase;
buildActionMask = 2147483647;
files = (
CDFE45B226566E7A0021A29F /* WDTWeatherSource.h in Headers */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXHeadersBuildPhase section */
/* Begin PBXNativeTarget section */
CDFE45A026566E7A0021A29F /* WDTWeatherSource */ = {
isa = PBXNativeTarget;
buildConfigurationList = CDFE45B526566E7A0021A29F /* Build configuration list for PBXNativeTarget "WDTWeatherSource" */;
buildPhases = (
37C9EE31972BE27504E434FD /* [CP] Check Pods Manifest.lock */,
CDFE459C26566E7A0021A29F /* Headers */,
CDFE459D26566E7A0021A29F /* Sources */,
CDFE459E26566E7A0021A29F /* Frameworks */,
CDFE459F26566E7A0021A29F /* Resources */,
CDFE45D726566F620021A29F /* Embed Frameworks */,
);
buildRules = (
);
dependencies = (
);
name = WDTWeatherSource;
productName = WDTWeatherSource;
productReference = CDFE45A126566E7A0021A29F /* WDTWeatherSource.framework */;
productType = "com.apple.product-type.framework";
};
CDFE45A926566E7A0021A29F /* WDTWeatherSourceTests */ = {
isa = PBXNativeTarget;
buildConfigurationList = CDFE45B826566E7A0021A29F /* Build configuration list for PBXNativeTarget "WDTWeatherSourceTests" */;
buildPhases = (
CDFE45A626566E7A0021A29F /* Sources */,
CDFE45A726566E7A0021A29F /* Frameworks */,
CDFE45A826566E7A0021A29F /* Resources */,
);
buildRules = (
);
dependencies = (
CDFE45AD26566E7A0021A29F /* PBXTargetDependency */,
);
name = WDTWeatherSourceTests;
productName = WDTWeatherSourceTests;
productReference = CDFE45AA26566E7A0021A29F /* WDTWeatherSourceTests.xctest */;
productType = "com.apple.product-type.bundle.unit-test";
};
/* End PBXNativeTarget section */
/* Begin PBXProject section */
CDFE459826566E7A0021A29F /* Project object */ = {
isa = PBXProject;
attributes = {
LastSwiftUpdateCheck = 1250;
LastUpgradeCheck = 1250;
TargetAttributes = {
CDFE45A026566E7A0021A29F = {
CreatedOnToolsVersion = 12.5;
};
CDFE45A926566E7A0021A29F = {
CreatedOnToolsVersion = 12.5;
};
};
};
buildConfigurationList = CDFE459B26566E7A0021A29F /* Build configuration list for PBXProject "WDTWeatherSource" */;
compatibilityVersion = "Xcode 9.3";
developmentRegion = en;
hasScannedForEncodings = 0;
knownRegions = (
en,
Base,
);
mainGroup = CDFE459726566E7A0021A29F;
productRefGroup = CDFE45A226566E7A0021A29F /* Products */;
projectDirPath = "";
projectRoot = "";
targets = (
CDFE45A026566E7A0021A29F /* WDTWeatherSource */,
CDFE45A926566E7A0021A29F /* WDTWeatherSourceTests */,
);
};
/* End PBXProject section */
/* Begin PBXResourcesBuildPhase section */
CDFE459F26566E7A0021A29F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
CDFE45A826566E7A0021A29F /* Resources */ = {
isa = PBXResourcesBuildPhase;
buildActionMask = 2147483647;
files = (
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXResourcesBuildPhase section */
/* Begin PBXShellScriptBuildPhase section */
37C9EE31972BE27504E434FD /* [CP] Check Pods Manifest.lock */ = {
isa = PBXShellScriptBuildPhase;
buildActionMask = 2147483647;
files = (
);
inputFileListPaths = (
);
inputPaths = (
"${PODS_PODFILE_DIR_PATH}/Podfile.lock",
"${PODS_ROOT}/Manifest.lock",
);
name = "[CP] Check Pods Manifest.lock";
outputFileListPaths = (
);
outputPaths = (
"$(DERIVED_FILE_DIR)/Pods-WDTWeatherSource-checkManifestLockResult.txt",
);
runOnlyForDeploymentPostprocessing = 0;
shellPath = /bin/sh;
shellScript = "diff \"${PODS_PODFILE_DIR_PATH}/Podfile.lock\" \"${PODS_ROOT}/Manifest.lock\" > /dev/null\nif [ $? != 0 ] ; then\n # print error to STDERR\n echo \"error: The sandbox is not in sync with the Podfile.lock. Run 'pod install' or update your CocoaPods installation.\" >&2\n exit 1\nfi\n# This output is used by Xcode 'outputs' to avoid re-running this script phase.\necho \"SUCCESS\" > \"${SCRIPT_OUTPUT_FILE_0}\"\n";
showEnvVarsInLog = 0;
};
/* End PBXShellScriptBuildPhase section */
/* Begin PBXSourcesBuildPhase section */
CDFE459D26566E7A0021A29F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CDFE45CE26566F480021A29F /* WdtLocationResponse.swift in Sources */,
CDFE45CF26566F480021A29F /* WdtWeatherCode.swift in Sources */,
CDFE45D026566F480021A29F /* WdtDailySummariesArray.swift in Sources */,
CDFE45D126566F480021A29F /* WdtHourlySummariesArray.swift in Sources */,
CDFE45D226566F480021A29F /* WdtDayNight.swift in Sources */,
CDBC243D265673B100F9F4E2 /* WdtWeatherSource.swift in Sources */,
CDFE45CA26566F280021A29F /* WdtSurfaceObservation.swift in Sources */,
CDFE45CB26566F280021A29F /* WdtDailySummary.swift in Sources */,
CDFE45C926566F280021A29F /* WdtLocation.swift in Sources */,
CDFE45CD26566F280021A29F /* WdtHourlySummary.swift in Sources */,
CDFE45CC26566F280021A29F /* WdtHealth.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
CDFE45A626566E7A0021A29F /* Sources */ = {
isa = PBXSourcesBuildPhase;
buildActionMask = 2147483647;
files = (
CDFE45B026566E7A0021A29F /* WDTWeatherSourceTests.swift in Sources */,
);
runOnlyForDeploymentPostprocessing = 0;
};
/* End PBXSourcesBuildPhase section */
/* Begin PBXTargetDependency section */
CDFE45AD26566E7A0021A29F /* PBXTargetDependency */ = {
isa = PBXTargetDependency;
target = CDFE45A026566E7A0021A29F /* WDTWeatherSource */;
targetProxy = CDFE45AC26566E7A0021A29F /* PBXContainerItemProxy */;
};
/* End PBXTargetDependency section */
/* Begin XCBuildConfiguration section */
CDFE45B326566E7A0021A29F /* 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_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 = 14.5;
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;
};
CDFE45B426566E7A0021A29F /* 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_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 = 14.5;
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;
};
CDFE45B626566E7A0021A29F /* Debug */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = B7E99288E63F28CB0F6FD4BC /* Pods-WDTWeatherSource.debug.xcconfig */;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 24W4XMQ38L;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = WDTWeatherSource/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.WDTWeatherSource;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTS_MACCATALYST = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
CDFE45B726566E7A0021A29F /* Release */ = {
isa = XCBuildConfiguration;
baseConfigurationReference = 2FC441E45268762FD5A08342 /* Pods-WDTWeatherSource.release.xcconfig */;
buildSettings = {
CODE_SIGN_STYLE = Automatic;
DEFINES_MODULE = YES;
DEVELOPMENT_TEAM = 24W4XMQ38L;
DYLIB_COMPATIBILITY_VERSION = 1;
DYLIB_CURRENT_VERSION = 1;
DYLIB_INSTALL_NAME_BASE = "@rpath";
INFOPLIST_FILE = WDTWeatherSource/Info.plist;
INSTALL_PATH = "$(LOCAL_LIBRARY_DIR)/Frameworks";
IPHONEOS_DEPLOYMENT_TARGET = 11.4;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.WDTWeatherSource;
PRODUCT_NAME = "$(TARGET_NAME:c99extidentifier)";
SKIP_INSTALL = YES;
SUPPORTS_MACCATALYST = NO;
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
CDFE45B926566E7A0021A29F /* Debug */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 24W4XMQ38L;
INFOPLIST_FILE = WDTWeatherSourceTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.WDTWeatherSourceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Debug;
};
CDFE45BA26566E7A0021A29F /* Release */ = {
isa = XCBuildConfiguration;
buildSettings = {
ALWAYS_EMBED_SWIFT_STANDARD_LIBRARIES = YES;
CODE_SIGN_STYLE = Automatic;
DEVELOPMENT_TEAM = 24W4XMQ38L;
INFOPLIST_FILE = WDTWeatherSourceTests/Info.plist;
LD_RUNPATH_SEARCH_PATHS = (
"$(inherited)",
"@executable_path/Frameworks",
"@loader_path/Frameworks",
);
PRODUCT_BUNDLE_IDENTIFIER = com.inmobi.WDTWeatherSourceTests;
PRODUCT_NAME = "$(TARGET_NAME)";
SWIFT_VERSION = 5.0;
TARGETED_DEVICE_FAMILY = "1,2";
};
name = Release;
};
/* End XCBuildConfiguration section */
/* Begin XCConfigurationList section */
CDFE459B26566E7A0021A29F /* Build configuration list for PBXProject "WDTWeatherSource" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CDFE45B326566E7A0021A29F /* Debug */,
CDFE45B426566E7A0021A29F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CDFE45B526566E7A0021A29F /* Build configuration list for PBXNativeTarget "WDTWeatherSource" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CDFE45B626566E7A0021A29F /* Debug */,
CDFE45B726566E7A0021A29F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
CDFE45B826566E7A0021A29F /* Build configuration list for PBXNativeTarget "WDTWeatherSourceTests" */ = {
isa = XCConfigurationList;
buildConfigurations = (
CDFE45B926566E7A0021A29F /* Debug */,
CDFE45BA26566E7A0021A29F /* Release */,
);
defaultConfigurationIsVisible = 0;
defaultConfigurationName = Release;
};
/* End XCConfigurationList section */
};
rootObject = CDFE459826566E7A0021A29F /* Project object */;
}
...@@ -7,7 +7,7 @@ ...@@ -7,7 +7,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
/// Needed for XMLCoder to decode the array with the right key name /// Needed for XMLCoder to decode the array with the right key name
struct WdtDailySummariesArray: Codable { struct WdtDailySummariesArray: Codable {
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
/// Needed for XMLCoder to decode the array with the right key name /// Needed for XMLCoder to decode the array with the right key name
struct WdtHourlySummariesArray: Codable { struct WdtHourlySummariesArray: Codable {
......
//
// WdtWeatherSource.swift
// 1Weather
//
// Created by Demid Merzlyakov on 25.02.2021.
//
import Foundation
import CoreLocation
import XMLCoder
import OneWeatherCore
public enum WdtWeatherSourceError: Error {
case insufficientLocationInfo
case badUrl
case networkError(Error?)
case badServerResponse(Error?)
case dataMergeError(String)
case alreadyBeingUpdated
}
public class WdtWeatherSource: WeatherSource {
private let log = Logger(componentName: "WdtWeatherSource")
private static let updateUrlMega = "https://1weather.onelouder.com/feeds/onelouder/mega.php"
private static let updateUrlMicro = "https://1weather.onelouder.com/feeds/onelouder2/fm.php"
private static let updateUrlHealth = "https://1weather.onelouder.com/feeds/onelouder/health.php"
/// This queue is needed to synchronize access to locationsBeingUpdated. Also, to make logging more clear.
private let internalQueue: OperationQueue = {
let queue = OperationQueue()
queue.name = "WdtWeatherSource Queue"
queue.maxConcurrentOperationCount = 1
return queue
}()
private var locationsBeingUpdated = Set<Location>()
#if DEBUG
public let weatherUpdateInterval = TimeInterval(2 * 60) // 2 minutes
#else
public let weatherUpdateInterval = TimeInterval(15 * 60) // 15 minutes
#endif
public init() {}
public func updateWeather(for location: Location, type: WeatherUpdateType, completion: @escaping WeatherSourceCompletion) {
internalQueue.addOperation { [weak self] in
let extendedCompletion: WeatherSourceCompletion = { [weak self] (updatedLocation, error) in
self?.internalQueue.addOperation {
completion(updatedLocation, error)
self?.locationsBeingUpdated.remove(location)
}
}
self?.updateWeatherInternal(for: location, type: type, completion: extendedCompletion)
}
}
private func buildURL(for location: Location, type: WeatherUpdateType, uvRequest: Bool) -> Result<URL, WdtWeatherSourceError> {
var urlToUse = WdtWeatherSource.updateUrlMega
if uvRequest {
log.debug("Start update (health) for \(location)")
urlToUse = WdtWeatherSource.updateUrlHealth
}
else if type == .preferIncremental && location.lastWeatherUpdateDate != nil {
urlToUse = WdtWeatherSource.updateUrlMicro
log.debug("Start update (incremental) for \(location)")
}
else {
log.debug("Start update (MEGA) for \(location)")
}
guard var urlComponents = URLComponents(string: urlToUse) else {
log.error("Couldn't create URLComponents from \(urlToUse)")
assertionFailure("Should never happen. The URL should be correct.")
// Should never happen, but a lot of stuff that should never happen happens from time to time, so let's at least handle it gracefully in prod.
return .failure(.badUrl)
}
var queryParameters = [String: String]()
if let coordinates = location.coordinates {
queryParameters["LAT"] = String(format: "%.5f", coordinates.latitude)
queryParameters["LON"] = String(format: "%.5f", coordinates.longitude)
}
else {
queryParameters["ZIP"] = location.zip
queryParameters["CITY"] = location.cityName
queryParameters["STATE"] = location.region
queryParameters["COUNTRY"] = location.countryName
}
guard !queryParameters.isEmpty else {
log.error("Not enough information about location.")
return .failure(.insufficientLocationInfo)
}
queryParameters["UNITS"] = "all"
urlComponents.queryItems = queryParameters.map { URLQueryItem(name: $0, value: $1) }
guard let url = urlComponents.url else {
log.error("Couldn't create URL with params: \(queryParameters)")
return .failure(.badUrl)
}
log.debug("Network request (\(location)): \(url)")
return .success(url)
}
/// This method should only be run from the internalQueue.
private func updateWeatherInternal(for location: Location, type: WeatherUpdateType, completion: @escaping WeatherSourceCompletion) {
let urlBuildResult = buildURL(for: location, type: type, uvRequest: false)
switch urlBuildResult {
case .failure(let error):
completion(nil, error)
return
case .success(let url):
let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, reponse, error) in
guard let self = self else { return }
guard let data = data else {
self.log.debug("Network response (\(location)): error \(String(describing: error))")
completion(nil, WdtWeatherSourceError.networkError(error))
return
}
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = XMLDecoder()
do {
let locationResponse = try decoder.decode(WdtLocationResponse.self, from: data)
guard let newLocation = try self.applyChangesTo(location: location, from: locationResponse) else {
completion(nil, WdtWeatherSourceError.badServerResponse(error))
return
}
self.updateUV(for: newLocation, type: type, completion: completion)
}
catch {
completion(nil, WdtWeatherSourceError.badServerResponse(error))
}
}
dataTask.resume()
}
}
private func updateUV(for location: Location, type: WeatherUpdateType, completion: @escaping WeatherSourceCompletion) {
let urlBuildResult = buildURL(for: location, type: type, uvRequest: true)
switch urlBuildResult {
case .failure(let error):
completion(nil, error)
return
case .success(let url):
let urlSession = URLSession.shared
let dataTask = urlSession.dataTask(with: url) { [weak self] (data, reponse, error) in
guard let self = self else { return }
guard let data = data else {
self.log.debug("Network response (health) (\(location)): error \(String(describing: error))")
completion(nil, WdtWeatherSourceError.networkError(error))
return
}
let responseBodyString = String(data: data, encoding: .utf8) ?? "<couldn't show as string"
self.log.debug("Network response (\(location)): \(responseBodyString)")
let decoder = XMLDecoder()
do {
let locationResponse = try decoder.decode(WdtHealth.self, from: data)
var newLocation = location
newLocation.today?.uv = locationResponse.uvIndex?.today
completion(newLocation, nil)
}
catch {
completion(nil, WdtWeatherSourceError.badServerResponse(error))
}
}
dataTask.resume()
}
}
private func applyChangesTo(location: Location, from locationResponse: WdtLocationResponse) throws -> Location? {
guard let wdtLocation = locationResponse.locations.first else {
return nil
}
let updateTime = Date()
let incrementalChanges = try wdtLocation.toAppModel(context: location, updatedAt: updateTime)
let updatedLocation = location.mergedWith(incrementalChanges: incrementalChanges)
return updatedLocation
}
}
<?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>$(DEVELOPMENT_LANGUAGE)</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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>$(CURRENT_PROJECT_VERSION)</string>
</dict>
</plist>
//
// WDTWeatherSource.h
// WDTWeatherSource
//
// Created by Dmitry Stepanets on 20.05.2021.
//
#import <Foundation/Foundation.h>
//! Project version number for WDTWeatherSource.
FOUNDATION_EXPORT double WDTWeatherSourceVersionNumber;
//! Project version string for WDTWeatherSource.
FOUNDATION_EXPORT const unsigned char WDTWeatherSourceVersionString[];
// In this header, you should import all the public headers of your framework using statements like #import <WDTWeatherSource/PublicHeader.h>
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
struct WdtDailySummary: Codable { struct WdtDailySummary: Codable {
public var dateLocal: String public var dateLocal: String
......
...@@ -6,6 +6,7 @@ ...@@ -6,6 +6,7 @@
// //
import Foundation import Foundation
import OneWeatherCore
struct WdtHourlySummary: Codable { struct WdtHourlySummary: Codable {
public var dateTimeLocal: String public var dateTimeLocal: String
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
import Foundation import Foundation
import CoreLocation import CoreLocation
import OneWeatherCore
struct WdtLocation: Codable { struct WdtLocation: Codable {
public private (set) var lat: String? public private (set) var lat: String?
......
<?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>$(DEVELOPMENT_LANGUAGE)</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>$(PRODUCT_BUNDLE_PACKAGE_TYPE)</string>
<key>CFBundleShortVersionString</key>
<string>1.0</string>
<key>CFBundleVersion</key>
<string>1</string>
</dict>
</plist>
//
// WDTWeatherSourceTests.swift
// WDTWeatherSourceTests
//
// Created by Dmitry Stepanets on 20.05.2021.
//
import XCTest
@testable import WDTWeatherSource
class WDTWeatherSourceTests: 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