CGFloat вызывает сбой сборки iPhone Unit Testing Bundle

У меня возникают проблемы с компиляцией iPhone Unit Testing Bundle, когда код, на который он ссылается, использует CGFloats. Если я правильно помню, 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

Ctrl + щелчок по цели "Тесты"> "Создать тесты".

Следующие ошибки появляются в моем окне результатов сборки везде, где есть ссылка на CGFloat:

/Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15:0 ​​/Users/shabbyrobe/Code/Tests/StupidCGFloat/Classes/SomeClass.h:15: ошибка: ожидается ')' перед 'CGFloat'


person Shabbyrobe    schedule 23.02.2010    source источник


Ответы (1)


У тебя должно быть:

#import <CoreGraphics/CoreGraphics.h>

Недостаточно просто добавить фреймворк.

person TechZen    schedule 23.02.2010