首页 文章

如何清空缓存并清理所有目标Xcode 4及更高版本

提问于
浏览
215

Jonathan在这里建议:Xcode Includes .xib files that have been deleted!清除所有目标并清空缓存将解决Xcode的问题,包括删除的.xib文件,但我找不到在Xcode 4中清空缓存的方法 .

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

11 回答

  • 17

    我几乎尝试了一切,但无法帮助,帮助我的是禁用SIP(系统集成保护)它工作,我不知道什么时候发生,但系统文件在某处混淆并导致这种情况... though there might be risks to disabling this obviously

    这是怎么回事

    1.在Mac上打电源并按住[command] [R]键以访问恢复分区 .

    2.从Recovery Partition中,单击菜单栏中的Utilities,然后选择Terminal .

    3.在Terminal中输入以下命令,然后按Enter键执行它:csrutil disable

    4.一旦命令执行完毕,退出终端并重启Mac . 当您重新登录OS X时,将禁用SIP .

  • 17

    Command-Option-Shift-K清除构建文件夹 . 更好的是,退出Xcode并手动清除〜/ Library / Developer / Xcode / DerivedData . 删除所有内容,因为那里有's a bug where Xcode will run an old version of your project that' s . (Xcode 4.2将显示Derived Data文件夹:选择Window> Organizer并切换到Projects选项卡 . 单击Derived Data文件夹名称右侧的右箭头 . )

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

    最后,为了完整性,您可以删除/ var / folders的内容;一些缓存也发生在那里 .

    警告:删除/ var /文件夹可能会导致问题,您可能需要在执行此操作后修复或重新安装操作系统 .

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

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

    编辑:对于某些与Swift相关的问题,我发现删除〜/ Library / Caches / com.apple.dt.Xcode很有用 . 当你这样做时,你会失去很多,比如你下载的文档文档集的备用副本,但它是值得的 .

  • 0

    Command-Option-Shift-K应该这样做 . 或者,转到产品菜单,按选项键,现在选项“清洁”将更改为“清洁构建文件夹...”选择该选项 .

  • 8

    除了命令选项shift K之外,我还找到了另一种方法 . 在XCode 4.2中,有一个可以从右上角图标打开的组织器 . 您可以从那里清除所有存档和已保存的项目选项 . 这有助于我的情况(我在mainBundle中看到旧的删除文件) .

  • 6

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

    • 清洁构建

    • 重置模拟器

    • 重启Xcode

    • 删除〜/ Library / Developer / Xcode / DerivedData中的 DerivedData 文件夹

    • 删除/ var / folders的 contents (不是整个文件夹)

    • 重新启动计算机

    最终对我有用的是重新生成故事板本地化文件并删除英语本地化(由于Base Locale是英语,因此不需要) . 要重新加载Storyboard字符串,see this answer on StackOverflow .

    我注意到我的Storyboard的非文本部分正在更新,但不是本地化的文本 . 如果您的应用程序中有本地化,我建议您检查以确保您的本地化更新(即使它们是 .strings 文件) .

  • 4

    我一直在拔头发,因为我觉得我有同样的问题 . 在构建应用程序时,我在iPhone上获得的结果与模拟器上的结果不同 .

    问题是我以某种方式制作了MainStoryboard.storyboard文件的本地化版本 . 因此,当我在手机上运行应用程序时,它显示了丹麦版本......模拟器显示了英文版本 .

    是的我是新人! :)

  • 0

    要在 /var/folders 中删除所有派生数据和模块缓存,请使用this little ruby script .

    derivedDataFolder = Dir.glob(Dir.home + "/Library/Developer/Xcode/DerivedData/*")
    moduleCache = Dir.glob("/var/folders/**/com.apple.DeveloperTools*")
    FileUtils.rm_rf derivedDataFolder + moduleCache
    

    这只是为我解决了一个 fatal error: malformed or corrupted AST file: 'Unable to load module "/var/folders/ 错误 .

  • 0

    当我打开文档窗口时,我遇到了一些Xcode 5.1崩溃的问题 .

    我不确定它的原因,因为我也在更新docsets,而我打开了窗口 .

    好吧,在Xcode 5中,modules目录现在位于派生数据文件夹中,由于显而易见的原因我没有删除 . 在我重新启动Xcode之后,我删除了 ~/Library/Developer/Xcode/DerivedData/ModuleCache~/Library/Preferences/com.apple.Xcode.plist 的内容,然后一切似乎都有效 .

  • 58

    您必须小心xib文件 . 我尝试了以上所有内容,对我来说没有任何作用 . 我正在使用xib中定义的自定义UIButton,并意识到它可能与我在那里分配了没有以编程方式更改的属性这一事实有关 . 如果您在那里定义了图像或文本,请将其删除 . 当我这样做时,我的程序化更改开始生效 .

  • 486

    这是我的shell script solution,它删除派生数据并清除项目的缓存资产,用于Xcode 4,5和6 .

    有时,只需在派生数据目录上调用rm -rf会留下一两个延迟文件,但我的脚本会循环,直到删除所有文件 .

  • 0

    当使用“数据模型”时,检查器中有选项可以生成类,对于我来说就是这种情况,因为已经有一个具有现有名称的类 .

    Codegen:为我解决了 .

    enter image description here

相关问题