__cxa_throw in fontWithName:size:

Ben*_*ous 6 objective-c uikit uifont

我有一个功能,可以在iOS 8.3上获得Helvetica Neue字体(尽管我自8.0以来遇到了同样的问题).

static UIFont *helveticaNeue() {
  return [UIFont fontWithName:@"HelveticaNeue"
                     size:[UIDevice currentDevice].userInterfaceIdiom  == UIUserInterfaceIdiomPad ? 30 : 24];
}
Run Code Online (Sandbox Code Playgroud)

这个函数实际上运行得很好,但是第一次调用它时,调试器会停止,在此函数之后的callstack看起来像__objc_msgSend_uncached_impcache- > __cxa_throw.

从我读过的其他一些问题来看,这个例外是无害的.然而,每次击中时都必须继续击打,真的很烦人.

我已经尝试了各种同义UIFont函数来尝试获取Helvetica Neue UIFont对象,或者将其作为类或实例方法,并且所有这些都抛出此异常.

我已经读过,我可以通过将我的All Exceptions Breakpoint更改为Objective-C异常来阻止这种情况,但是我不想这样做,因为这个项目包含大量的C++代码,而且似乎这样会阻止此代码中的异常中断.

有谁知道如何防止抛出异常,或者如何忽略这一个特定的异常?

Ben*_*ous 0

问题是我的应用程序有一个框架,其 info.plist 文件列出了提供的字体,该字体也被应用程序本身列为提供的字体(在应用程序提供的字体中)。删除重复项修复了此问题。