In the header of the class, outside of interface declaration, I\'ve declared global constants:
NSString * const gotFilePathNotification = @\"gotFilePath\";
N
You have two identifier(s) with same name across two different compilation unit(s) at file scope. This violates One Definition Rule. Instead you need to -
Declare the global variables marking to have external linkage in a header file.
extern NSString * const gotFilePathNotification;
Now provide the definition in only one source file.
NSString * const gotFilePathNotification = @"gotFilePath";
Now where ever you need to use these variables, include the header in the source file.