Las fonts personalizadas de iOS no se muestran en el dispositivo.

He peinado SO para problemas similares, y la mayoría de ellos parecen decirme que probablemente haya olvidado agregar la fuente a la fase de compilation de resources de copy. También me aseguré de que ambas fonts son parte del objective de compilation.

Doblo y triple comprobé eso. Ambas fonts están en la fase de resources de copy, y ambas se enumeran en el plist.

plistar

En el delegado de mi aplicación, verifico qué fonts tengo disponibles para sus familias de fonts respectivas, y obtengo resultados inesperados.

NSLog(@"%@", [UIFont fontNamesForFamilyName:@"DS-Digital"]); NSLog(@"%@", [UIFont fontNamesForFamilyName:@"Proxima Nova"]); 

El primero imprime "(" DS-Digital-Italic ")" que es lo que quería, el segundo imprime "(" ProximaNova-Regular ")", también se esperaba.

Cuando voy a usar cualquiera de las fonts de la siguiente manera, solo aparece en el simulador, pero en cualquier dispositivo vuelve a la fuente del sistema.

 [_estimateLabel setFont:[UIFont fontWithName:@"DS-Digital-Italic" size:50]]; 

o

 [cell.mainLabel setFont:[UIFont fontWithName:@"ProximaNova-Regular" size:20]]; 

¿Hay algo que me falta? Estoy usando XCode 5 con un iPad mini y un iPhone 5C, ambos iOs 7.

Abra la fuente en Fontbook (se incluye con su mac). Asegúrese de llamarlo por el nombre de la secuencia de commands posterior, como aquí: introduzca la descripción de la imagen aquí

Su llamado por @"HelveticaNeueCE-Thin"

Asegúrese también de verificar el nombre de su fuente en "Agregar a destinos:" cuando los agregó al proyecto, si no lo hizo, no se copyrán en el package de aplicaciones enviado a su iDevice.

¿Te aseguraste de que escribiste correctamente el nombre de la fuente? Ver esta publicación ¿Puedo insert una fuente personalizada en una aplicación de iPhone? para reference

Escribo programáticamente, así que no sé si hay una forma más fácil en XCode, ni siquiera desarrollo en una Mac, pero cargo fonts personalizadas como:

 // Load font CGDataProviderRef fontDataProvider = CGDataProviderCreateWithURL((__bridge CFURLRef)[NSURL fileURLWithPath:@"/path/to/font.ttf"]); CGFontRef uiFont = CGFontCreateWithDataProvider(fontDataProvider); NSString * uiFontName = (__bridge NSString *)CGFontCopyPostScriptName(uiFont); CGDataProviderRelease(fontDataProvider); CFErrorRef error; CTFontManagerRegisterGraphicsFont(uiFont, &error); CGFontRelease(uiFont); UIFont *yourfont = [UIFont fontWithName:uiFontName size:20.0f]; 

Supongo que XCode tiene una forma de hacerlo por ti, pero eso siempre es una opción si solo quieres un fragment de código que funcione

Ejecuta esto en tu AppDelegate para ver si la familia y el nombre de la fuente aparecen cuando se ejecuta en el dispositivo:

 for (NSString *family in [UIFont familyNames]) { NSLog(@"%@", family); for (NSString *name in [UIFont fontNamesForFamilyName:family]) { NSLog(@"\t%@", name); } } 

Si aparecen la familia de fuente y los nombres y la ortografía es precisa, ¿acaso existe un problema con el file de fuente …? Eche un vistazo a los loggings de dispositivo (o console) para ver si hay algún error al usar el file.

¿Es posible que la fuente se pueda replace en algún otro lugar del código o incluso desde el generador de interfaces? ¿Dónde estás configurando la fuente?