Jonathan在这里建议:Xcode包含已删除的.xib文件!清理所有目标和清空缓存将修复Xcode的问题,包括删除的.xib文件,但我找不到一种方法来清空Xcode 4中的缓存。

如何在Xcode 4中做到这一点?


当前回答

命令选项- shift - k清除构建文件夹。更好的是,退出Xcode,手动清理~/Library/Developer/Xcode/DerivedData。删除它的所有内容,因为Xcode会运行旧版本的项目。(Xcode 4.2会显示派生数据文件夹:选择窗口>管理器,切换到项目选项卡。单击Derived Data文件夹名称右侧的右箭头。)

在模拟器中,选择“iOS模拟器>重置内容和设置”。

最后,为了完整起见,您可以删除/var/文件夹的内容;一些缓存也发生在那里。

警告:删除/var/文件夹可能会导致问题,在这样做之后,您可能需要修复或重新安装操作系统。

编辑:我刚刚了解到,如果你害怕使用/var/folders/,你可以在终端中使用以下命令以更有针对性的方式删除:

rm -rf "$(getconf DARWIN_USER_CACHE_DIR)/org.llvm.clang/ModuleCache"

编辑:对于某些与swift相关的问题,我发现删除~/Library/Caches/com.apple.dt.Xcode很有用。这样做会损失很多东西,比如下载的文档文档集的备用副本,但这是值得的。

其他回答

我尝试了几乎所有的方法,但无能为力,对我有帮助的是禁用SIP(系统集成保护)n它是有效的,我不知道什么时候发生了什么,但是系统文件在某个地方混淆了,导致了这个…尽管禁用它可能会有风险

以下是如何

1.打开你的Mac,按住[command]+[R]键进入恢复分区。

2.从恢复分区,从菜单栏单击实用程序,然后选择终端。

3.在Terminal中输入如下命令,按“Enter”执行: csrutil禁用

4.命令执行后,退出终端并重新启动Mac。当您重新登录OS X时,SIP将被禁用。

除了command+option+shift+K,我找到了另一种方法。在XCode 4.2中,有一个可以从右上角图标打开的管理器。您可以从那里清除所有存档和保存的项目选项。这帮助了我的情况(我在mainBundle中看到旧的删除文件)。

对我来说,缓存图像有帮助: Xcode -> Product -> Clean Build Folder

除了执行以下操作外,如果应用程序的Storyboard文件已本地化,您可能会遇到此问题。首先,做以下每一件事:

清洁的构建 重置模拟器 重启Xcode 删除~/Library/Developer/Xcode/DerivedData文件夹 重新启动计算机

最后对我有用的是重新生成故事板本地化文件并删除英语本地化(这是不需要的,因为Base Locale是英语)。要重新加载故事板字符串,请参阅StackOverflow上的答案。

我注意到我的故事板的非文本部分正在被更新,但本地化的文本没有。如果你的应用中有本地化,我建议检查确保本地化已经更新(即使它们是.strings文件)。

您必须小心对待xib文件。我尝试了以上所有的方法,但没有一个对我有效。我正在使用xib中定义的自定义UIButtons,并意识到这可能与我在那里分配的属性没有以编程方式改变的事实有关。如果你在那里定义了图像或文本,删除它们。当我这样做的时候,我的计划改变开始生效。