嗨,大家好,我是Xcode/Cocoa/Objective C的新手,遇到了一个非常烦人的问题,但是我似乎找不到解决方法。我的程序有几个类和一组单元测试,当我创建项目时选中了Xcode“包括单元测试”选项。大部分情况下,一切正常,但是当我运行测试时,会看到以下错误:
objc [12505]:类[class foo]在两个位置实现: /Users/[me]/Library/ApplicationSupport/iPhoneSimulator/4.3/Applications/1F5222ED-0A3C-41BC-AFA3-CB8FC744EFCE/[appname].app/[app name]和/Users/[me]/Library/Developer/Xcode/DerivedData/[app name]-eumytpkyfitihadpqeyxjpwapxoa/Build/Products/Debug-iphonesimulator/[appname]Tests.octest/[appname]Tests。 这两个位置都将被使用,但具体使用哪一个是未定义的。
查看测试目标构建日志后发现,Xcode正在为测试目标编译[class foo],但没有编译测试程序使用的其他任何类(如果术语使用不正确,请见谅)。
[appname]Tests.m文件的顶部如下所示:
[app name]Tests.m使用了以上所有的类,[class foo]没有实际意义,除了可能它是最先创建的。 我尝试过移动
在Finder中查看文件时,所有程序类都在[app name]的根目录中,只有两个测试文件在[app name]Tests的根目录中,我认为这就是应该的。
通常情况下,即使出现此错误,运行测试也会起作用,但有时不会或者断点在[class foo]中表现得不可预测,这真的很烦人。如果您有任何想法或建议,将不胜感激。
谢谢。
objc [12505]:类[class foo]在两个位置实现: /Users/[me]/Library/ApplicationSupport/iPhoneSimulator/4.3/Applications/1F5222ED-0A3C-41BC-AFA3-CB8FC744EFCE/[appname].app/[app name]和/Users/[me]/Library/Developer/Xcode/DerivedData/[app name]-eumytpkyfitihadpqeyxjpwapxoa/Build/Products/Debug-iphonesimulator/[appname]Tests.octest/[appname]Tests。 这两个位置都将被使用,但具体使用哪一个是未定义的。
查看测试目标构建日志后发现,Xcode正在为测试目标编译[class foo],但没有编译测试程序使用的其他任何类(如果术语使用不正确,请见谅)。
[appname]Tests.m文件的顶部如下所示:
#import "[app name]Tests.h
#import "[class x].h"
#import "[class y].h"
#import "[class z].h"
#import "[class a].h"
#import "[class foo].h"
[app name]Tests.m使用了以上所有的类,[class foo]没有实际意义,除了可能它是最先创建的。 我尝试过移动
#import "[class foo].h"
声明,但没有任何变化。
我尝试过重命名[class foo],清理产品并重新构建,但没有任何变化。在Finder中查看文件时,所有程序类都在[app name]的根目录中,只有两个测试文件在[app name]Tests的根目录中,我认为这就是应该的。
通常情况下,即使出现此错误,运行测试也会起作用,但有时不会或者断点在[class foo]中表现得不可预测,这真的很烦人。如果您有任何想法或建议,将不胜感激。
谢谢。