完全披露,我是IOS / ObjectiveC / Xcode的新手。我正在使用内置的XCode5 XTC库为单元测试设置测试套件。我将测试代码链接到我正在测试的对象时遇到了根本问题。我查看了整个WEB,并且有很多关于如何将代码复制和过去到XTC测试对象中的示例,但是我找不到关于如何设置测试代码的示例,以便它可以链接到您正在测试的对象。我在哪里可以正确地在XCode5项目属性中包含链接位置?
以下是测试代码的简短摘要......
#import <XCTest/XCTest.h>
#import “ObjectA.h”
@interface SimpleTest : XCTestCase
@end
@implementation SimpleTest
- (void)testExample
{
ObjectA *objectA;
objectA = [[ObjectA alloc] init];
XCTAssertTrue(ObjectA != nil, @“ObjectA is nil!");
}
@end
以下是错误:
架构x86_64的未定义符号: “_OBJC_CLASS_ $ ObjectA”,引自:SimpleObject.o中的objc-class-ref ld:找不到架构x86_64的符号 clang:错误:链接器命令失败,退出代码为1(使用-v查看调用) “_OBJC_CLASS_ $ ObjectA”,引自:SimpleObject.o中的objc-class-ref **
答案 0 :(得分:0)
您是否检查过您是否具有正确的目标依赖性?
在目标“构建阶段”标签中,您应该会看到“目标依赖项”下列出的主要项目目标
当我遇到链接问题时,我也使用Xcode的首选项 - &gt;查找和删除当前派生数据目录并运行干净构建的位置。