打开故事板时,Xcode 8挂起/无响应

gui*_*ido 26 storyboard xcode8

我最近升级到Xcode 8并将我的项目更新为Swift 3.所有工作都很好.故事板加载一直很慢(即使仍在运行Xcode 7),与Xcode 8差不多"慢".我一直想象这是因为我是一个较旧的(2011年末)Macbook Pro.

但最近有时Xcode会在我试图打开故事板时挂起.从昨天起,它总是"悬挂".Xcode变得反应迟钝,我不得不强制退出它.

在Activity Monitor中我看到Xcode使用102%的CPU和内存使用率一直在增长(如果我让它超过10GB).

现在我真的卡住了,因为当我打开Xcode时,它会立即打开我的项目并想要打开故事板.我甚至无法更改为快速文件.我不再进入我选择项目的窗口了.所以,如果没有Xcode没有反应,就无法打开我的项目.即使我双击另一个项目打开Xcode,它仍然试图打开我的项目(在故事板上).

我已经尝试了很多东西(基于我可以在旧版Xcode的类似问题上找到的SO线程):

  • 删除了Xcode并删除了〜/ Library/Developer的内容.然后重新安装Xcode.
  • 删除了var /文件夹的内容
  • 删除了派生数据文件夹的内容
  • 重启Macbook

我的下一个尝试是下载Xcode 8.1 beta.但实际上不是那样做的.

关于我可以尝试的事情的任何其他建议?

小更新: 管理以清除Xcode的"状态",它默认打开我的项目,并在故事板上打开它.这是通过:

  • 删除〜/ Library/Saved Application State/com.apple.dt.Xcode.savedState文件夹(这将在启动时再次显示最近的项目窗口)
  • 为了防止项目在打开时加载特定文件,我转到了.xcworkspace(在我的项目文件夹中)的内容,然后删除了/xcuserdata/myusername.xcuserdatad/UserInterfaceState.xcuserstate.现在项目打开时没有选择任何文件.

仍然......主要问题仍然存在.当我点击我的故事板时,Xcode变得反应迟钝.

Luk*_* In 46

我在Xcode 8.1中遇到了一个nib的问题.

将"顶栏"和/或"底栏"设置为除了"推断"之外的任何内容都会导致Xcode减速到爬行.将此更改为"推断"会使性能恢复正常,其缺点是它会删除预览中的条形.

设置不正确

正确的设置

  • 你光荣的个人.由于Xcode和.xib,我的CPU运行率约为150%.这立即修复了它.当我升级到Xcode 8.2时仍然存在问题 (7认同)
  • 如果您的IB太慢而无法更改此设置,请右键单击.xib/storyboard文件并将其视为源代码.然后搜索`simulatedNavigationBarMetrics`并删除你找到的行,在界面构建中重新打开,一切都应该顺利运行. (4认同)

Ale*_*one 14

根据我的经验,对于一个用XCode8打开的旧项目,它迫切地想问你​​一些关于默认设备的问题来查看故事板.这个问题非常重要,在你回答它之前,你正盯着一个看不见的对话窗口,直到XCode没有响应.

几个解决方案对我有用:

  1. 如果在启动XCode时获得1.5秒的响应窗口 - 立即切换到非故事板文件.如果在辅助面板中使用带有故事板的拆分窗格编辑器,请将其关闭.
  2. 创建另一个故事板,打开它,XCode将询问有关默认设备的问题.
  3. 回答问题,保存项目状态并希望打开故事板

删除这些功能允许我重新打开故事板

    <capability name="Aspect ratio constraints" minToolsVersion="5.1"/>
    <capability name="Constraints with non-1.0 multipliers" minToolsVersion="5.1"/>
    <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
</dependencies>
Run Code Online (Sandbox Code Playgroud)

  • 谢谢您的帮助。删除以下功能解决了我的问题 &lt;capability name="documents saved in Xcode 8 format" minToolsVersion="8.0"/&gt; (2认同)
  • 非常感谢你!其他所有建议的建议对我都不起作用(我没有将模拟指标设置为不透明),但是仅删除了&lt;capability name =“以Xcode 8格式保存的文档” minToolsVersion =“ 8.0” /&gt;功能使我能够再次打开IB,它再次完全响应。谢谢!!! (2认同)

jni*_*nic 11

我遇到了类似的问题:Interface Builder很慢到几乎完全没有响应.

我发现清除我的xcuserdata目录使IB恢复正常速度.

据推测,一些糟糕的国家已经悄然兴起,导致经济放缓.

rm -rf Project.xcodeproj/xcuserdata/
rm -rf Project.xcworkspace/xcuserdata/
Run Code Online (Sandbox Code Playgroud)


Bee*_* Me 6

我终于想出了一个解决方案,很大程度上基于这个问题的答案.它最终归结为与工作故事板的XML进行比较,但这里是我采取的步骤的总结.

  • 重新安装Xcode 8.2.1并重新启动

  • 删除配置,状态和数据文件

    rm -rf ~/Library/Developer/*
    rm -rf ~/Library/Caches/com.apple.dt.Xcode/*
    rm -rf ~/Library/Developer/Xcode/DerivedData/*
    rm -rf ApplicationName.xcodeproj/xcuserdata/
    rm -rf ApplicationName.xcworkspace/xcuserdata/
    rm -rf ~/Library/Saved\ Application\ State/com.apple.dt.Xcode.savedState/
    
    Run Code Online (Sandbox Code Playgroud)
  • 修复自动布局问题

  • 从storyboard XML中删除所有依赖项,除了:

    <dependencies>
        <deployment identifier="iOS"/>
        <plugIn identifier="com.apple.InterfaceBuilder.IBCocoaTouchPlugin" version="11757"/>
        <capability name="documents saved in the Xcode 8 format" minToolsVersion="8.0"/>
    </dependencies>
    
    Run Code Online (Sandbox Code Playgroud)
  • 检查所有故事板和xib文件,确保所有"Top Bar"和"Bottom Bar"都设置为"Inferred"

最后两项似乎是最重要的.