2016-04-10 6 views
0

Ich erstelle derzeit Framework und trenne einen Teil meiner Codes zum Framework. In meinem Code habe ich das so.iOS Präprozessor-Makros vom Hauptprojekt zum eingebetteten Framework übergeben

#ifdef DEBUG 
#define SERVER_PREFIX @"http://example1.com/" 

#elif STAGING 
#define SERVER_PREFIX @"http://example2.com/" 

#elif RELEASE 
#define SERVER_PREFIX @"http://example3.com/" 
#endif 

enter image description here

Ich brauche diese in Rahmen zu trennen. Wenn Hauptprojekt zwischen diesen wechselt, möchte ich auch mein Framework automatisch ändern. Ich bin mir nicht sicher, ob es ein guter Ansatz ist und getan werden kann oder nicht. Wie soll ich tun?

Antwort

3

Sie sollten das Problem nicht mit Pre-Prozessor-Makros angehen, Sie sollten das Framework konfigurierbar machen, damit Sie es zur Laufzeit tatsächlich den erforderlichen Wert übergeben. Das macht das Framework tatsächlich wiederverwendbar ...

+0

Was wäre, wenn Sie einige Features einschränken möchten, wenn die Quelle nur mit der Debug-Konfiguration erstellt wird, z. Wenn es etwas gab, was Sie einem Entwickler mit dem Quellcode erlauben wollten, um etwas zu tun/zu umgehen, das Sie auf einen eingebauten, keinen Quellcode, Release-Version anwenden wollten. Das ist mein Problem. –

+0

Sure @VincilBishop Sie können das mit Preprozessor-Makros tun – Wain

+0

Lesen Sie die Frage und Ihre Antwort noch einmal, deins war der beste Rat ... –

Verwandte Themen