FWIW, this is a workaround I came across using the UIFontDescriptor attribute dictionary initializer instead of the seemingly fontDescriptorWithSymbolicTraits buggy:
NSString *fontFamily = @"Arial"; BOOL isBold = YES; BOOL isItalic = YES; CGFloat fontSize = 20.0; UIFontDescriptor *fontDescriptor = [UIFontDescriptor fontDescriptorWithFontAttributes: @{ @"NSFontFamilyAttribute" : fontFamily, @"NSFontFaceAttribute" : (isBold && isItalic ? @"Bold Italic" : (isBold ? @"Bold" : (isItalic ? @"Italic" : @"Regular"))) }]; UIFont *font = [UIFont fontWithDescriptor:fontDescriptor size:fontSize];
source share