我的应用程序中有许多目标,每个目标都指定了项目使用的大量预处理器宏。它们无处不在,从开关到字符串和 URL 的定义。我开始难以通过 xcode Build Settings UI 理智地管理如此多的项目,并且想知道拥有更大的多目标项目的人会推荐我做什么来减轻痛苦。
一种解决方案是在每个目标中定义一个开关,然后将所有定义转储到 -Prefix.pch 文件中,基本上与我在build设置中定义这些宏具有相同的效果。
另一种解决方案是拥有一个模块处理配置(可以是 plist 的包装器)并将具有相同文件名的不同 plist 捆绑到每个目标中。这样我就可以有一个很好的定义良好的界面来访问不同的设置,并且能够在其中添加一些逻辑。
有什么建议吗?
最佳答案
我的所有项目都包含一个 Constants.h
文件,用于处理字符串定义、各种标志、图像名称等,以及预处理器宏。我几乎在我创建的每个类中都包含 Constants.h
。
我在一些应用程序中也有几个目标来控制 UI 主题和 Web 服务调用等,所以我在 Constants.h
中执行以下操作:
#ifdef APPLE
#define IMAGE_LOGO "apple.png"
#endif
#ifdef MICROSOFT
#define IMAGE_LOGO "windows.png"
#endif
#ifdef LINUX
#define IMAGE_LOGO "penguin.png"
#endif
//etc...
我不确定它是否理想,但这非常适合我的需要,除了在每个目标上设置标志(例如,APPLE= 1
)。希望能帮助到你。
关于ios - 在 iOS XCode 项目中管理大量目标预处理器宏,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13872009/