Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/unit-testing/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
CGFloat导致iPhone单元测试包构建失败_Iphone_Unit Testing_Xcode_Xcode3.2 - Fatal编程技术网

CGFloat导致iPhone单元测试包构建失败

CGFloat导致iPhone单元测试包构建失败,iphone,unit-testing,xcode,xcode3.2,Iphone,Unit Testing,Xcode,Xcode3.2,当iPhone单元测试包引用的代码使用CGfloat时,我在编译它时遇到了问题。如果我没记错的话,CGFloat只是一个预处理器宏,所以我猜它并没有被正确地替换,但由于我对iPhone的这种恶作剧还比较陌生,我不知道从哪里着手修复它。我已经比较了应用程序目标和测试包的信息页面中的值,它们看起来基本相同 以下是在Xcode 3.2.1和Xcode 3.1.4中复制的步骤: 创建新项目>基于视图的应用程序 创建新的目标>单元测试包 按住Ctrl键并单击测试目标>获取信息 将“CoreGraphics

当iPhone单元测试包引用的代码使用CGfloat时,我在编译它时遇到了问题。如果我没记错的话,CGFloat只是一个预处理器宏,所以我猜它并没有被正确地替换,但由于我对iPhone的这种恶作剧还比较陌生,我不知道从哪里着手修复它。我已经比较了应用程序目标和测试包的信息页面中的值,它们看起来基本相同

以下是在Xcode 3.2.1和Xcode 3.1.4中复制的步骤:

创建新项目>基于视图的应用程序 创建新的目标>单元测试包 按住Ctrl键并单击测试目标>获取信息 将“CoreGraphics.framework”添加到链接库中 添加新的Objective-C类,确保勾选了两个目标

// SomeClass.h
#import <Foundation/Foundation.h>

@interface SomeClass : NSObject {

}
-(CGFloat)doStuff;
@end

// SomeClass.m
#import "SomeClass.h"

@implementation SomeClass
-(CGFloat)doStuff {
    return 9.9;
}
@end
//SomeClass.h
#进口
@接口类:NSObject{
}
-(CGFloat)多凝灰岩;
@结束
//某个班级
#导入“SomeClass.h”
@类的实现
-(CGFloat)多凝灰岩{
返回9.9;
}
@结束
Ctrl+单击测试目标>生成“测试”

以下错误出现在“我的生成结果”窗口中引用CGFloat的任何位置:

/Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15:0 /Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15: 错误:“CGFloat”之前应为“)”

你必须有:

#import <CoreGraphics/CoreGraphics.h>
#导入
仅仅添加框架是不够的