ios - 在 iOS XCode 项目中管理大量目标预处理器宏

标签 ios xcode xcode4

我的应用程序中有许多目标,每个目标都指定了项目使用的大量预处理器宏。它们无处不在,从开关到字符串和 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/

相关文章:

iphone - 加载闪屏 Nib 时出现问题

ios - 如何将 .app 文件转换为 .ipa 文件?

ios - 向 iOS 中的工具提示添加不属于图表的 x&y 轴的其他数据

ios - 如何将图像数组从 tableView 传递到另一个 DetailView

xcode - 不激活全屏模式的 Kiosk 风格 - OS X

ios - xcode4 zxing : Undefined symbols for architecture i386

iphone - 输入文本时在 UIAlertView 中启用按钮 - 多个警报 View

iphone - 自定义 UITableViewCell editingAccessoryView?

ios - 将 swift 更新到 4.0 版后迦太基构建失败

ios - XCode4 - 排列排序组