NSMutableData错误

时间:2016-05-13 22:10:34

标签: ios objective-c unrecognized-selector nsmutabledata

让我开始说我是iOS / Xcode编程的新手,所以我甚至不知道要问什么。 我正在尝试向应用程序添加一个静态库,我最终会崩溃。 库包有一个.h文件和一个.a文件。 我要求提出一些有关如何解决问题的建议。 这里有一些事实:

  • Xcode 7.3 - El captain OS
  • 图书馆正在运作。我有一个演示应用程序,使用我正在尝试使用的相同库,没有崩溃
  • 我没有发现将演示应用与我的比较有显着差异。我是从头开始创建的(单一视图 - 故事板),演示应用程序使用xib文件,我不知道它是如何开发的。 某些文件相同(即直接从演示应用程序复制)

  • 崩溃显然发生在图书馆内,在一个内部电话

  • 崩溃涉及NSMutableData类。这是错误:

    + [NSMutableData dataFromHexString:]:无法识别的选择器发送到类0x1a085fdb0

    ***由于未捕获的异常'NSInvalidArgumentException'终止应用程序,原因:'+ [NSMutableData dataFromHexString:]:无法识别的选择器发送到类0x1a085fdb0'

    • 在应用程序的代码中(两者都是工作的和不工作的代码),没有直接引用类NSMutableData。应用程序中定义的最接近的类是NSMutableArray,我可以看到它在两个应用程序中以相同的方式定义和使用。

这就是为什么我不知道如何继续。 它必须是应用程序中阻止库工作的东西,因为它正在使用原始的演示代码,但我不知道它可能是什么。 我试图设置一些断点来试图查明问题,但是编译库时没有调试信息,所以调试器只显示库内的汇编代码。 我正在寻找有关如何继续的任何线索。

感谢您的帮助   史蒂夫

1 个答案:

答案 0 :(得分:1)

发现问题。我正在追逐幽灵,配置中缺少两个编译标志。方法dataFromHexString在静态库中声明,当然没有关于它的文档。 我不得不添加两个标志来编译代码: -ObjC和-all_load 我的猜测(我不太了解环境)是这些标志代码能够识别新方法。