自定义字体不在设备上显示,但在模拟器上

我一直在使用iOS中的自定义字体,并且除了自定义字体不会显示在我的任何设备上外,大部分情况已经解决了。

  1. 我已经添加了字体到项目文件的根目录。
  2. 将其添加到数组下的info.plist文件或“应用程序提供的字体”
  3. 检查了原始文件和我添加到info.plist文件的大小写是否相同。
  4. 使用[playMenuBtn.titleLabel setFont:[UIFont fontWithName:@"fontname" size:40]]; 使字体工作。

当我在模拟器中运行我的应用程序时,它都显示正常,并工作。 但是,只要我在物理设备上运行它,它会显示默认大小的默认字体。

如果我使用:
UIFont *font = [UIFont fontWithName:@"VINCASTENCIL" size:20]; NSLog(@"Font:%@", font);

然后模拟器返回: 2012-04-07 01:10:41.544 AppName[47412:f803] Font:<UICFFont: 0x683e040> font-family: "VINCA STENCIL"; font-weight: normal; font-style: normal; font-size: 20px 2012-04-07 01:10:41.544 AppName[47412:f803] Font:<UICFFont: 0x683e040> font-family: "VINCA STENCIL"; font-weight: normal; font-style: normal; font-size: 20px

当设备返回时: 2012-04-07 00:42:56.358 AppName[5079:707] Font:(null)

我已经尝试了所有的东西,包括尝试FontBook告诉我字体可以被命名的所有名称。 我知道这是免费的,没有许可证。

任何帮助将不胜感激,因为它是驱使我坚果,我真的不想使用这些图像的本地化将是一个痛苦!

对,我刚刚设法得到这个工作。 我所做的每件事都是正确的,但由于某种原因,并没有将我的字体文件添加到“目标” – >“构build阶段” – >“复制捆绑软件资源”。 通过手动将其添加到此列表中,字体将显示在设备上。

这是第二次这个项目没有自动在这里添加一个文件(这是以前用一个我添加的类,它没有),所以我认为这是我的项目有问题,或在Xcode的错误。

感谢大家的build议和帮助。 😀

是的,按照上面提到的所有方向,你应该没问题。 还有其他东西要注意:区分大小写。 在你的* .plist文件和Fonts provided by application 。 模拟器可能会忽略大小写,但设备不会。 例如,“Facebook”与“FaceBook”不一样。 (这导致字体在模拟器中工作,但不是设备!)