message: Prevented color override on ios13 if nil
  Can't do this on <= ios12 because the styles are set against the shared navigationbar. But on ios13 they're set on individual navigaitonItem. That means don't override the defaults - get them fresh each time so only apply the ones that aren't nil
diff: API_AVAILABLE(ios(13.0))
  {
  UINavigationBarAppearance *appearanceCopy = [appearance copy];
  + if (self.barTintColor != nil)
  [appearanceCopy setBackgroundColor:self.barTintColor];
  [appearanceCopy.buttonAppearance.normal setTitleTextAttributes:[self setForeground:self.tintColor :appearanceCopy.backButtonAppearance.normal.titleTextAttributes]];
  [appearanceCopy.doneButtonAppearance.normal setTitleTextAttributes:[self setForeground:self.tintColor :appearanceCopy.doneButtonAppearance.normal.titleTextAttributes]];
  @@ -69,6 +70,7 @@ API_AVAILABLE(ios(13.0))
  -(NSDictionary *)setForeground:(UIColor *)color :(NSDictionary *)attributes
  {
  NSMutableDictionary *attributesCopy = attributes != nil ? [attributes mutableCopy] : @{}.mutableCopy;
  + if (@available(iOS 13.0, *)) {} else
  [attributesCopy removeObjectForKey:NSForegroundColorAttributeName];
  if (color != nil)
  attributesCopy[NSForegroundColorAttributeName] = color;
  