Adding custom fonts to iOS app finding their real names

cocoa-touch, ios, objective-c

Solution

Use `+[UIFont familyNames]` to list all of the font family names known to the system. For each family name, you can then use `+[UIFont fontNamesForFamilyName:]` to list all of the font names known to the system. Try printing those out to see what name the system expects. Example code:

static void dumpAllFonts() {
    for (NSString *familyName in [UIFont familyNames]) {
        for (NSString *fontName in [UIFont fontNamesForFamilyName:familyName]) {
            NSLog(@"%@", fontName);
        }
    }
}

Put that in your app, call it, and see what you get. If you see a name in the output that looks appropriate for your font, use it. Otherwise, perhaps you haven't properly added the font to your app.

In Swift:

func dumpAllFonts() {
    for familyName in UIFont.familyNames {
        for fontName in UIFont.fontNames(forFamilyName: familyName) {
            print(fontName)
        }
    }
}

Problem

I have two fonts to add in my app for using. Here is the font images. Currently the files are named as ``` name.font = [UIFont fontWithName:@"Helvetica Neue LT Pro-Medium" size:10]; headline.font = [UIFont fontWithName:@"Helvetica Neue LT Pro-Light" size:8]; ``` putting same name in the `Font Avaliable option in plist file`. I have also tried adding file names like ``` HelveticaNeueLTPro-Lt HelveticaNeueLTPro-Md ``` but nothing seems to work. How can i get the exact name of the fonts.

Original source

Related problems