CGFloat导致iPhone Unit Testing Bundle失败

Sha*_*obe 2 iphone xcode unit-testing xcode3.2

当它引用的代码使用CGFloats时,我在编译iPhone单元测试包时遇到问题.如果我没记错的话,CGFloat只是一个预处理器宏,所以我猜它没有得到正确的替换,但由于我对这款iPhone的相对较新,我不知道从哪里开始寻找它.我已经比较了应用程序目标和测试包的Info页面中的值,它们似乎大致相同.

以下是在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
Run Code Online (Sandbox Code Playgroud)

Ctrl +单击测试目标>构建"测试"

在引用CGFloat的任何位置的"构建结果"窗口中都会出现以下错误:

/Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15:0 /Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15:错误:预期')'在'CGFloat'之前

Tec*_*Zen 5

你必须有:

#import <CoreGraphics/CoreGraphics.h>
Run Code Online (Sandbox Code Playgroud)

仅添加框架是不够的.