У меня есть приложение, которое использует несколько пользовательских шрифтов. Когда приложение работает в iOS 5, шрифты отображаются правильно, но в 4.3 они не отображаются, а системные шрифты заменяются. Кроме того, я использую NSAttributedStrings для создания расширенного текста в подклассе UILabel. В iOS 5 атрибутированная строка работает нормально, но в 4.3 приложение вылетает. Авария входит в категорию на NSAttributedString в этом методе:
-(void)setFontName:(NSString*)fontName size:(CGFloat)size range:(NSRange)range {
// kCTFontAttributeName
// crashes on next line
CTFontRef aFont = CTFontCreateWithName((__bridge CFStringRef)fontName, size, NULL);
if (!aFont) return;
[self removeAttribute:(NSString*)kCTFontAttributeName range:range]; // Work around for Apple leak
[self addAttribute:(NSString*)kCTFontAttributeName value:(__bridge id)aFont range:range];
CFRelease(aFont);
}
Есть идеи о том, что портит мои шрифты в 4.3? Я сделал быстрый тестовый проект, используя те же шрифты, и они работают правильно в 4.3.
Jk