我需要检查宏中的CFBundleIdentifier,以检查正在运行的目标,以确定是否可以导入文件,但无法确定。
#if TARGET_IS_XYZ
#import SomeFile.h
#endif我试过:
#define TARGET_IS_XYZ [[[[NSBundle mainBundle] infoDictionary] objectForKey:@"CFBundleIdentifier"] isEqualToString:@"com.app.xyz"]但是后来意识到NSBundle maindBundle要到运行时才可用,所以我不能使用它。是否有其他方法可以获得CFBundleIdentifier或检查正在运行的目标?
我指的是app目标,而不是iOS或OSX。
发布于 2013-07-04 17:36:48
您的宏可以通过检查TARGETNAME或项目环境vars来实现您的目标。或者,您可以将每个构建变量设置为设置唯一的环境var。还有一些方法(其语法现在让我无法理解):使用环境vars和宏在构建时在info.plist文件中设置值,这将允许您从一个点管理appname和包含的文件。
https://stackoverflow.com/questions/17156159
复制相似问题