Проблема DBL_EPSILON в iOS

Я использую это -

#define IS_IPHONE_5 ( fabs( ( double )[ [ UIScreen mainScreen ] bounds ].size.height - ( double )568 ) < DBL_EPSILON ) макрос в моем проекте.

Я объявил этот макрос в файле .pch проекта.

он работает, когда целью является мой проект, но не когда я пытаюсь запустить тестовые примеры с помощью xctest.

Сборка всегда завершается ошибкой со следующей ошибкой - undeclared identifier 'DBL_EPSILON'

Я объявил это в своем appName.pch и импортировал этот .pch в свой набор текстовых регистров .pch.

Когда я импортирую #import <float.h>.

Это решило мою проблему. Мой вопрос, зачем этот импорт нужен в тестовом комплекте? Так как это не нужно в основном проекте.


person rtk123    schedule 05.01.2014    source источник
comment
Может быть, цель проекта и цель теста компилируются в командной строке? xcodebuild -scheme YourProject и что-то вроде xcodebuild -scheme YourProjectTests.   -  person Bart van Kuik    schedule 16.03.2014
comment
Почему бы не просто .height >= 568?   -  person Tricertops    schedule 24.03.2014


Ответы (1)


импортируйте float.h в файл .pch вверху

#import<float.h>

#import <Foundation/Foundation.h>

#if TARGET_OS_IPHONE

#import <UIKit/UIKit.h>
person Milap Kundalia    schedule 28.03.2014