9

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

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.

任何人以前见过这个,或者知道它的含义,是什么导致它,如果它是一个问题?

4

3 回答 3

5

我已经看到了它。具体来说,在 OS X 上 - 但原因应该是相同的。GEOLocation(和其他)在加载到进程中的两个图像中定义。

如果那是您编写的类,则该类的符号在多个目标文件中定义(尽管可能是链接器错误……),在链接库,加载的包或某些组合中 - 当代码可以动态加载时。

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

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

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

在这种情况下,该类存在于系统框架中,所以......将它发送给错误报告者 - 它应该被快速修复。

于 2011-12-31T08:24:16.280 回答
2

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

于 2016-02-17T10:13:17.600 回答
0

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

于 2012-05-29T18:06:40.233 回答