2014-01-05 14 views
10

ich dies mit -DBL_EPSILON Problem in iOS

#define IS_IPHONE_5 (fabs((double)[ [ UIScreen mainScreen ] bounds ].size.height - (double)568) < DBL_EPSILON) Makro in meinem Projekt.

Ich habe dieses Makro in Projekt PCH-Datei deklariert

seine Arbeits, wenn das Ziel meines Projektes ist es aber nicht, wenn ich versuche, Testfälle zu laufen mit xctest.

Bauen immer mit folgenden Fehlern immer fehlgeschlagen - undeclared identifier 'DBL_EPSILON'

Ich habe dies in meiner appName.pch und Import erklärt, die in meinen Text Fall Bündel PCH PCH

Wenn ich #import <float.h> importieren.

Dies löste mein Problem. Meine Frage, warum dieser Import im Testpaket benötigt wird? Wie es im Hauptprojekt nicht benötigt wird.

+0

Hat das Projektziel und Testziel vielleicht auf der Kommandozeile kompilieren? "xcodebuild -scheme YourProject" und so etwas wie "xcodebuild -scheme YourProjectTests". –

+0

Warum nicht einfach '.height> = 568'? – Tricertops

Antwort

0

Import float.h in Ihrer PCH-Datei an der Spitze

#import<float.h> 

#import <Foundation/Foundation.h> 

#if TARGET_OS_IPHONE 

#import <UIKit/UIKit.h>