如何根据配置文件指定 XCode 执行或不执行特定代码行
Posted
技术标签:
【中文标题】如何根据配置文件指定 XCode 执行或不执行特定代码行【英文标题】:How to Specify for XCode to Execute Specific Lines of Code or Not Depending Upon Profile 【发布时间】:2012-12-28 16:29:41 【问题描述】:我试图了解方案、配置、权利和其他什么,而我现在的所有人都是一个非常困惑的家伙。
我们有 3 个人在开发 ios 应用程序。我正在将应用程序连接到远程服务器,这会发出很多错误,因此当我实际提交进度时,每个人的应用程序副本都会遇到问题。我想制作一种我可以使用的配置文件,以便其他人在使用他们的配置文件运行 XCode 时可以跳过代码行。
有什么办法可以做到吗?
编辑:我想我正在寻找预处理器宏来定义一个条件。我想做一个
#if Value = Local
//get data locally
#if Value = Remote
//get data from server
我该怎么做?另外,如何给这个“值”赋值。
【问题讨论】:
您可以使用预处理器,但不确定您的具体要求是什么。 我希望能够在我的代码中添加某些条件,以便仅在设置了某个配置文件时才执行某行代码。例如,我想放这样的东西。 if(profile is debug) run from server else run from local data 您可以在每个系统上设置本地数据库和服务器。完成所有工作后,提交到主文件/数据库/服务器/等。 感谢您的回复。请参阅修改后的问题。 【参考方案1】:您正在尝试解决错误的问题。如果你有一个正在进行的工作,你不应该尝试根据谁构建它有条件地执行某些代码行,你应该将你的工作包含在一个特性分支中。这不是执行过程中应该解决的问题,这是应该通过源代码控制解决的协作问题。
【讨论】:
程序与数据库的连接是一个漫长的应用程序范围的任务,每个班级都在进行sn-ps。我只想设置条件,以便在我完全完成远程连接实现之前,没有人的副本会尝试从远程服务器获取数据。我们已经在使用 SCM,这就是为什么不要因为我正在进行的工作而使其他人的工作停止的原因。 是的,我知道你想“只是提出条件”,正如我在回答中所说,这是一种糟糕的方法,你不应该这样做,这是源代码控制的事情之一旨在管理。停止将不完整的东西提交到每个人都从中提取的主要开发分支,并提交到功能分支,直到它准备好供其他人接收。 感谢您的回复。问题有点复杂。我还在研究程序的其他模块,这就是为什么必须管理所有这些会变得非常累的原因。请看修改后的问题。我认为预处理器宏是这个问题的答案。 我的回答保持不变 - 这是您应该通过正确使用源代码管理来解决的问题。如果您正在处理其他模块,则这一点更为重要。【参考方案2】:根据您的编辑,您可以将此想法转换为
#if Value = Local
//get data locally
#if Value = Remote
//get data from server
如上实现:
#ifdef LOCAL_DB
//get data locally
#else
//get data from server
#endif
【讨论】:
以上是关于如何根据配置文件指定 XCode 执行或不执行特定代码行的主要内容,如果未能解决你的问题,请参考以下文章