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]; 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) {