今天,经过多次测试的项目,交付客户测试,却遭到当头一棒。crash!crash!crash!不断的crash。
原来是由于字体不支持的缘故,不直接测试调试的话,还真是很容易忽略这个问题。项目主要使用的是苹方字体,这是苹果ios9才引入的官方字体,iOS8是不支持的。若要兼容iOS8以上,那只能在项目中添加自定义字体了。
方法如下
- 下载苹方字体
苹方字体下载
- 导入字体文件
将字体文件导入到工程中。
- 配置字体文件
Info plist 下添加 Fonts provided by application,并在Fonts provided by application添加字体文件,名字需于字体文件完全保持一致。
注意:此处必须是完整的文件名包含后缀。
- 检查字体文件是否导入
4.1. 检查Build Phases 下的 copyBundleResources下是否导入了字体文件
注意此处必须是单独的字体文件,不能是如下图这种文件夹形式的。
4.2. 打印
// 遍历获取字体名称
for(NSString *fontFamilyName in [UIFont familyNames])
{
NSLog(@"family:'%@'",fontFamilyName);
for(NSString *fontName in [UIFont fontNamesForFamilyName:fontFamilyName])
{
NSLog(@"\tfont:'%@'",fontName);
}
NSLog(@"-------------");
}
- 使用字体
textLabel.font = [UIFont fontWithName:@".PingFang-SC-UltraLight" size:17];
此处使用的名字,必须是如上图所示打印出来的名字