CGFloat导致iPhone单元测试包构建失败
当iPhone单元测试包引用的代码使用CGfloat时,我在编译它时遇到了问题。如果我没记错的话,CGFloat只是一个预处理器宏,所以我猜它并没有被正确地替换,但由于我对iPhone的这种恶作剧还比较陌生,我不知道从哪里着手修复它。我已经比较了应用程序目标和测试包的信息页面中的值,它们看起来基本相同 以下是在Xcode 3.2.1和Xcode 3.1.4中复制的步骤: 创建新项目>基于视图的应用程序 创建新的目标>单元测试包 按住Ctrl键并单击测试目标>获取信息 将“CoreGraphics.framework”添加到链接库中 添加新的Objective-C类,确保勾选了两个目标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
// 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>
#导入
仅仅添加框架是不够的