【问题标题】:iOS 5.1 app crash on startup with Symbol not found: _NSFontAttributeNameiOS 5.1 应用程序在启动时崩溃,找不到符号:_NSFontAttributeName
【发布时间】:2013-12-16 07:20:20
【问题描述】:

在装有 iOS 5.1.1 的 iPad 上运行应用程序时出现以下错误

dyld: Symbol not found: _NSFontAttributeName
  Referenced from: /var/mobile/Applications/9471D711-BCA7-4529-A584-9747C2E03DBC/egnyteMobileIOSUniversal.app/egnyteMobileIOSUniversal
  Expected in: /System/Library/Frameworks/UIKit.framework/UIKit
 in /var/mobile/Applications/9471D711-BCA7-4529-A584-9747C2E03DBC/egnyteMobileIOSUniversal.app/egnyteMobileIOSUniversal

在我的代码中,我现在在哪里使用 NSFontAttributeName 常量。据我所知,iOS 支持等于或高于 6.0。在我的代码中我都没有使用 NSAttributedString 类。
是否有其他方法或 UI 控件在内部调用此方法?
堆栈跟踪没有给我任何有关哪个代码或方法遇到此问题的信息。
有什么方法可以正确调试跟踪符号错误? 我的应用程序支持最低 5.0 iOS

【问题讨论】:

  • 你的BaseSDK设置为iOS5了吗?您是否使用了可能导致问题的第三方库?
  • 请分享一些造成问题的代码。
  • 同样的问题,有没有对你有用的解决方案?
  • 是的,我选择的答案解决了问题。将 UIKit 的类型从必需更改为弱并重建您的应用程序目标。这应该会处理运行时错误。

标签: ios debugging ios5 crash nsattributedstring


【解决方案1】:

将 UIKit 的 Type 从 Required 更改为 Weak 并重建您的应用程序目标。这应该会处理运行时错误。

【讨论】:

  • 感谢@er.vish iPhone OS 6.0 中的 UIKit 框架添加了常量“NSFontAttributeName”,如果您正常链接它,您的应用程序将假定这些符号存在于 5.1 中,但它们不存在.
【解决方案2】:

NSFontAttributeName 可用于计算文本大小。如果 CMD+Shift+F 在您的

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2011-03-19
    • 2018-12-27
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多