Obscure NSZombie控制台日志
问题描述:
我试图在谷歌搜索,并试图找出这意味着什么字面上没有结果。我的控制台登录:Obscure NSZombie控制台日志
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.
没有人见过这一点,或有任何知道这意味着什么,是什么原因引起的,如果这是一个问题吗?
答
我见过它。具体来说,在OS X上 - 但原因应该是一样的。 GEOLocation
(以及其他)是在加载到过程中的两个图像中定义的。
如果这是一个你写的类,这个类的符号是在多个目标文件中定义的(可能是一个链接器错误,尽管...),在链接库,加载包或者某些组合中 - 动态加载。
如果它不是您写的(或合成的)类,请向该类的创建者提出错误。
也可能该类是在您的应用中定义的,也是在链接库中定义的。在这种情况下,您需要更改班级的名称。
这绝对是一个问题。该类(具有该名称)正在被加载到objc运行时两次,并且不能保证从objc使用平面名称空间创建实例时将返回哪个实现。
在这种情况下,该类存在于系统框架中,因此...将它发送给bug记者 - 它值得快速修复。
答
我有这个晦涩的消息,并注意到一个NIB已从项目中删除,但代码仍在使用它。您可能需要检查是否有任何资源已从捆绑中删除,但仍在使用中。
答
这是在构建方案中启用僵尸警告时发生的无害警告。你可以忽略它。
您是否有任何方法具有文本GEOLatLng的子字符串?如果有,分享您的相关代码?如果您使用它进行测试,请尝试在没有NSZombieEnabled的情况下进行测试。 – Krishnan 2011-12-31 07:30:34