如何仅使用快捷键在调试或发布模式下切换正在运行的 Xcode 项目?
Posted
技术标签:
【中文标题】如何仅使用快捷键在调试或发布模式下切换正在运行的 Xcode 项目?【英文标题】:How to toggle running Xcode project in debug or release mode by using only shortcut keys? 【发布时间】:2014-02-20 03:51:58 【问题描述】:默认情况下,要在发布模式下“运行”我的项目,我需要编辑方案的运行设置以使用“发布”而不是调试。
为了不必每次我想在调试模式和发布模式之间切换时都编辑方案,我创建了一个在发布模式下运行的新方案。但这还是比较繁琐,要切换需要点击相关方案。
有没有一种方法可以仅使用快捷键在调试/发布模式下自动(构建+运行)?
我不想配置文件!因为那会启动仪器等。
编辑:要清楚 - 我总是在设备上运行。
【问题讨论】:
我需要一种在调试和发布模式之间快速切换的方法,最好只使用快捷键。 这让我很困扰。我真的很喜欢 Visual Studio 用于选择要使用的构建配置的下拉菜单。如果我可以将“运行”的默认构建配置更改为“发布”,我的 Xcode 问题将得到解决。 【参考方案1】:调试构建:“Product”菜单 =>“Build For”=>“Running”(shift-command-R)
发布构建:“产品”菜单 =>“构建”=>“分析”(shift-command-I)
无需构建即可运行(无论您刚刚构建了哪个):“产品”菜单 =>“执行操作”=>“无需构建即可运行”(control-command-R)
【讨论】:
那达不到我的目标。假设我刚刚使用 shift+cmd+r 在我的 ios 设备上运行并安装了二进制文件。然后执行 shift+cmd+i ,然后执行 ctrl+cmd+r,不会将我设备上的调试版本替换为发布版本。我误解你的答案了吗? 否;您从未提及“在我的 iOS 设备上安装二进制文件”。我回答了你提出的问题(关于 Xcode)。 使用“Build for Profiling”后跟“Run without building”在调试模式下运行(不是你构建的那个)。【参考方案2】:在我的项目中使用它有一种方法。
在 Xcode 中,转到项目设置(项目,而不是目标)并将“beta”配置添加到列表中:
然后你需要创建一个新的方案,它将在“beta”配置中运行项目。要创建方案,请转到此处:
将此方案命名为您想要的任何名称。您应该编辑此方案的设置。为此,请点按此处:
选择存档选项卡,您可以在其中选择Build configuration
然后您需要在项目信息属性列表中添加一个值为$(CONFIGURATION)
的键Config
,如下所示:
那么这就是您需要在代码中执行特定于 beta 构建的事情的问题:
let config = Bundle.main.object(forInfoDictionaryKey: "Config") as! String
if config == "Release"
// app running in release configuration
else if config == "Beta"
// app running in beta configuration
【讨论】:
【参考方案3】:您在 XCode 中寻找的等价物是“方案”。
播放/停止按钮的右侧,有一个非常方便的方案选择器。您只需要创建一个用于调试的方案和另一个用于分发的方案。
为了制作一个用于调试或分发的方案,只需转到方案配置(选择“编辑方案...”或“新方案...”)并在“运行->”下选择正确的构建配置构建配置”:
注意:我有 XCode 9.1,我不知道这是否适用于旧版本。
【讨论】:
【参考方案4】:在 XCode 7 中,您可以使用快捷方式在方案之间切换:control-command-right/left 括号(选择下一个方案,选择上一个方案)。所以我认为创建两个方案是你最好的选择。
顺便说一句,每个人都在问为什么要这样做 - 如果你正在编写一段高性能的代码,你会发现自己出于很多原因不断地在发布模式和调试模式之间切换。发布模式(尤其是在整个模块优化开启的 swift 中)需要永远构建和优化更改堆栈跟踪等。
【讨论】:
以上是关于如何仅使用快捷键在调试或发布模式下切换正在运行的 Xcode 项目?的主要内容,如果未能解决你的问题,请参考以下文章