First, you should go for a real extern C symbol -- not a macro. this is done like so:
SomeFile.h
extern NSString *const MONConstantString;
SomeFile.m
NSString *const MONConstantString = @"MONConstantString";
note that if you use a mix of ObjC and ObjC++, you will need to specify extern "C"
for C++ TUs -- that's why you will see a #define
d export which varies by language.
Then, you will want to put the constant near the interfaces it relates to. Taking your example as a lead, you might want a set of interfaces or declarations for your app's preferences. In that case, you might add the declaration to MONAppsPreferences
header:
MONAppsPreferences.h
extern NSString *const MONApps_Pref_ReminderSwitch;
MONAppsPreferences.m
NSString *const MONApps_Pref_ReminderSwitch = @"MONApps_Pref_ReminderSwitch";
In use:
#import "MONAppsPreferences.h"
...
[[NSUserDefaults standardUserDefaults] setBool:YES forKey:MONApps_Pref_ReminderSwitch];