【问题标题】:CGFontGetGlyphAdvances crash on jailbreak devices because of system font由于系统字体,CGFontGetGlyphAdvances 在越狱设备上崩溃
【发布时间】:2013-12-03 11:59:11
【问题描述】:

最近我更新了我的应用并重新设计了一个视图控制器。 Crashlytics 告诉我有一些越狱用户(仅限越狱用户)遇到以下崩溃。

异常类型:EXC_BAD_ACCESS
代码:0x2fc77efc 处的 KERN_PROTECTION_FAILURE
CoreGraphics CGFontGetGlyphAdvances + 196

详细的崩溃报告在这里:
http://crashes.to/s/96facdd8c3a
http://crashes.to/s/30a55faaa9f

我的一个用户将他的屏幕截图发送给我,我从状态栏中注意到他更改了他的默认字体。

我现在没有越狱设备,所以我无法重现这个崩溃。但是,在重新设计的视图控制器中,有一些关于为 UILabel 设置字体的代码。

self.amountIndicator.text = @"◀︎";
self.amountIndicator.font = [UIFont systemFontOfSize:13];
self.amountIndicator.adjustsFontSizeToFitWidth = YES;
self.amountIndicator.textColor = iOS7tintColor;


swipeChangeLabel.textAlignment = NSTextAlignmentCenter;
swipeChangeLabel.textColor = [UIColor whiteColor];
swipeChangeLabel.backgroundColor = [UIColor clearColor];
swipeChangeLabel.numberOfLines = 0;
swipeChangeLabel.adjustsFontSizeToFitWidth = NO;

是否存在与越狱设备上的“自定义字体或皮肤”不兼容的代码?

【问题讨论】:

  • 我认为问题来自损坏和/或不完整的自定义字体。

标签: objective-c ios6 crash jailbreak


【解决方案1】:
self.amountIndicator.text = @"◀︎";

通过在下一个版本中删除此行(将此标签视图更改为图像视图),受影响的用户说它现在已修复。 正如@Emmanuel 所说,这可能是字体问题。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-09-19
    • 1970-01-01
    • 2019-01-24
    • 2014-03-26
    • 1970-01-01
    • 1970-01-01
    • 2011-08-21
    • 1970-01-01
    相关资源
    最近更新 更多