我有問題獲取iPhone單元測試捆綁編譯時,它引用的代碼使用CGFloats。如果我沒有記錯,CGFloat只是一個預處理器宏,所以我猜測它沒有被正確地取代,但由於我對這款iPhone手機相對較新,我不知道從哪裏開始尋找解決方案。我已經在Info頁面中比較了應用程序目標和測試包的值,並且它們看起來大致相同。CGFloat導致iPhone單元測試捆綁失敗生成
這裏是在Xcode 3.2.1和3.1.4的Xcode複製的步驟:
創建一個新項目>查看基於應用程序 創建新的目標>單元測試包 按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
按Ctrl +點擊測試目標>打造「測試」
個下面的錯誤出現在我的生成結果窗口中的任意一個CGFloat的被引用:
/Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15:0 /Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15: error: expected ')' before 'CGFloat'