From 51fd26c05be46c69deda8d719cac2af3a65b1a06 Mon Sep 17 00:00:00 2001 From: SVG <21696037+SVyatoslavG@users.noreply.github.com> Date: Fri, 19 Jul 2019 16:09:37 -0700 Subject: [PATCH 1/2] Extracted api reporting paths into env variable for feature 3rd party intergrations --- Source/Services/LIFEDataProvider.m | 22 ++++++++++++++++++++-- 1 file changed, 20 insertions(+), 2 deletions(-) diff --git a/Source/Services/LIFEDataProvider.m b/Source/Services/LIFEDataProvider.m index 0242818..47e7bc8 100644 --- a/Source/Services/LIFEDataProvider.m +++ b/Source/Services/LIFEDataProvider.m @@ -41,6 +41,8 @@ static NSString * const kLegacyPendingReportsDirectory = @"cached_reports"; static NSString * const kPendingReportsDirectory = @"pending_reports"; static NSString * const kPlatform = @"ios"; +static NSString * const kApiClientEvents = @"api/v1/client_events.json"; +static NSString * const kApiReports = @"api/v1/reports.json"; @interface LIFEDataProvider () @@ -119,8 +121,16 @@ - (void)logClientEventWithName:(nonnull NSString *)eventName [params life_safeSetObject:appParams forKey:@"app"]; [params life_safeSetObject:clientEventParams forKey:@"client_event"]; + + NSString *apiClientEvents = kApiClientEvents; + + NSDictionary *environment = [[NSProcessInfo processInfo] environment]; + NSString *overridePath = environment[@"com.buglife.api.client_events"]; + if (overridePath) { + apiClientEvents = overridePath; + } - [self.networkManager POST:@"api/v1/client_events.json" parameters:params callbackQueue:self.workQueue success:^(id responseObject) { + [self.networkManager POST:apiClientEvents parameters:params callbackQueue:self.workQueue success:^(id responseObject) { LIFELogIntDebug(@"Successfully posted event \"%@\"", eventName); } failure:^(NSError *error) { LIFELogIntError(@"Error posting event \"%@\"\n Error: %@", eventName, error); @@ -181,8 +191,16 @@ - (void)_submitReport:(nonnull LIFEReport *)report withRetryPolicy:(LIFERetryPol // TODO: Need to remove & re-save so that submissionAttempts actually increments beyond 2 [self _savePendingReport:report]; } + + NSString *apiReports = kApiReports; + + NSDictionary *environment = [[NSProcessInfo processInfo] environment]; + NSString *overridePath = environment[@"com.buglife.api.reports"]; + if (overridePath) { + apiReports = overridePath; + } - [_networkManager POST:@"api/v1/reports.json" parameters:parameters callbackQueue:self.workQueue success:^(id responseObject) { + [_networkManager POST:apiReports parameters:parameters callbackQueue:self.workQueue success:^(id responseObject) { LIFELogIntInfo(@"Report submitted!"); if (removeSuccessfulSubmissions) { From 3f4a6c3c0c3c927c62c7065d8d30cb344d9771ec Mon Sep 17 00:00:00 2001 From: Aranda Morrison Date: Mon, 18 Jul 2022 15:49:08 +0800 Subject: [PATCH 2/2] Fix transparent navigation header for iOS 13 --- Source/Controllers/LIFENavigationController.m | 9 +++++++++ 1 file changed, 9 insertions(+) diff --git a/Source/Controllers/LIFENavigationController.m b/Source/Controllers/LIFENavigationController.m index 748a16a..10f3bed 100644 --- a/Source/Controllers/LIFENavigationController.m +++ b/Source/Controllers/LIFENavigationController.m @@ -114,6 +114,15 @@ - (void)_configureNavigationBarAppearance self.navigationBar.translucent = NO; [self.navigationBar setBackgroundImage:nil forBarMetrics:UIBarMetricsDefault]; + // See https://developer.apple.com/forums/thread/682420 + if (@available(iOS 13.0, *)) { + UINavigationBarAppearance *nba = [[UINavigationBarAppearance alloc] init]; + [nba configureWithOpaqueBackground]; + nba.backgroundColor = appearance.barTintColor; + self.navigationBar.standardAppearance = nba; + self.navigationBar.scrollEdgeAppearance = self.navigationBar.standardAppearance; + } + UIBarButtonItem *barButtonItemAppearance = [UIBarButtonItem appearanceWhenContainedInInstancesOfClasses:@[[LIFENavigationBar class]]]; barButtonItemAppearance.tintColor = appearance.tintColor; [barButtonItemAppearance setTitleTextAttributes:@{NSForegroundColorAttributeName : appearance.tintColor} forState:UIControlStateNormal];