模糊的NSZombie控制台日志

时间:2011-12-31 03:55:12

标签: iphone ios console nszombie

我尝试在google上搜索,在尝试弄清楚这意味着什么时,实际上没有任何结果。我的控制台正在记录:

objc[17048]: Class _NSZombie_GEOLatLng is implemented in both ?? and ??. One of the two will be used. Which one is undefined.
objc[17048]: Class _NSZombie_GEOLatLng is implemented in both ?? and ??. One of the two will be used. Which one is undefined.
objc[17048]: Class _NSZombie_GEOLocation is implemented in both ?? and ??. One of the two will be used. Which one is undefined.
objc[17048]: Class _NSZombie_GEOLocation is implemented in both ?? and ??. One of the two will be used. Which one is undefined.

以前见过这个,或者知道它意味着什么,导致它的原因,以及它是否有问题?

3 个答案:

答案 0 :(得分:5)

我见过它。具体来说,在OS X上 - 但原因应该是相同的。 GEOLocation(和其他)在两个图像中定义,这些图像被加载到过程中。

如果那是你写的一个类,那么类的符号是在多个目标文件中定义的(虽然可能是链接器错误......),链接库,加载的包或者某些组合 - 当代码可能被加载时动态。

如果它不是您编写(或合成)的类,请向该类的创建者提交错误。

该类也可能在您的应用中定义,也可以在链接库中定义。在这种情况下,您需要更改班级的名称。

这绝对是个问题。该类(具有该名称)被加载到objc运行时两次,并且无法保证在创建实例时将返回哪个实现,因为objc使用平面命名空间。

在这种情况下,该类存在于系统框架中,因此...将其发送给bug报告者 - 它值得快速修复。

答案 1 :(得分:2)

这是在构建方案中启用僵尸警告时发生的无害警告。你可以忽略它。

答案 2 :(得分:0)

我收到了这条晦涩难懂的消息,并注意到NIB已从项目中删除,但代码仍在使用它。您可能想要检查是否已从捆绑中删除了仍在使用的资源。