Frage

Gibt es eine Weise, die ich in meinem app basierend auf bedingt kompilieren kann, ob ich für den Simulator oder das Gerät baue? (My App Haken an einen externen Server: Wenn ich auf dem Gerät laufen lasse, möchte ich localhost verbinden, wenn ich auf dem Gerät laufen lasse, ich meine Produktionsserver gehen.)

Ich interessiere mich für einige #ifdef Variable ich erkennen kann, oder sogar etwas zur Laufzeit ... spielt keine Rolle.

Danke.

War es hilfreich?

Lösung

#if !(TARGET_IPHONE_SIMULATOR)

oder alternativ

#if (TARGET_OS_IPHONE)

werden Ihnen sagen, wenn Sie auf dem Gerät laufen lassen. Damit es funktioniert, müssen Sie

#include "TargetConditionals.h"

Datei, die Sie hier finden.

Andere Tipps

habe ich ein Makro, in dem Sie festlegen können, welche Aktionen Sie ausführen möchten in Klammern und diese Maßnahmen werden nur dann ausgeführt werden, wenn das Gerät simuliert wird.

#define SIM(x) if ([[[UIDevice currentDevice].model lowercaseString] rangeOfString:@"simulator"].location != NSNotFound){x;}

Dies wird wie folgt verwendet:

SIM(NSLog(@"This will only be logged if the device is simulated"));
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top