Xcode 在每次按键后都会构建故事板

我的使用故事板的 Xcode 项目最近进入了一个非常奇怪的状态: Xcode 继续构建整个项目,特别是 每次按键之后的故事板。我没有发现这种行为的原因,无论是在我的项目区分所有有趣的文件(故事板和项目) ,也不是在 Xcode 设置(也许我只是找不到它?)不用说,这个“特性”使我的项目工作几乎不可能,因为当我键入新代码时,CPU 一直在忙于重新构建故事板。有人看过这个吗?

27217 次浏览

它是由源头文件中的 IB_DESIGNABLE定义引起的。可能只有当包含 IB_DESIGNABLE的头文件被包含(甚至是隐式地)到当前编辑的源文件中时才会出现问题。

我没有找到一个明确的解决方案,如何禁用 IB_DESIGNABLE,从而编译故事板和源文件不断。我希望能有一个 Xcode 标志来暂时禁用它。我还尝试用 #ifdef宏包围 IB_DESIGNABLE,但即使 #ifdef的计算结果为 false,也会考虑使用它们。一个接一个地评论 IB_DESIGNABLE会有所帮助,但对于许多 IB_DESIGNABLE来说,这不是一个可行的解决方案。

Update

我终于找到了一个避免这种烦人行为的快速方法。在活动窗口中打开故事板,从编辑器菜单中禁用“自动刷新视图”。这将停止在故事板编辑器中更新使用您的自定义代码的视图,从而大大加快您的开发。当您再次需要即时编译来对您的自定义代码进行可视化预览时,再次启用此选项(似乎您还必须重新打开您的故事板以使其再次工作)。

enter image description here

您可能希望向命令添加一个键绑定,例如 command-option-control-A,以便轻松地切换开/关行为。要在 Xcode 添加一个键绑定,请点击“命令-逗号”作为首选项,选择“键绑定”选项卡,使用搜索栏查找命令,然后双击右侧区域添加所需的按键。

“关掉它”的方法

交替关闭“自动刷新视图”和 千万别开机

“刷新所有视图”制作一个方便的按键,比如 command-option-shift-R

enter image description here

在您工作时,只需不时地或根据需要触摸命令-选项-shift-R 即可。通常只需要在处理故事板时触摸 command-option-shift-R 即可。

我有这个问题,接受的答案不适合我。

我遇到的问题是,我总是在 XCode 中将故事板打开在它自己的选项卡中,这样我就可以快速访问它。

我唯一可以修复它的方法是关闭该选项卡或选择一个不同的文件(如普通代码文件) ,然后关闭并重新打开 XCode。此后,它不再重建每一个键盘击打。

然而,如果你需要打开故事板进行更改,那么这个问题有时会再次出现,我将不得不重复上述过程。

等不及苹果公司来解决这个问题了,因为这真的很令人沮丧!

(工用 something 益 something)工用 something 毁ー毁