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

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


当前回答

我一直在拔自己头上的头发,因为我以为我也有同样的问题。在创建应用程序时,我在iPhone上没有得到与在模拟器上相同的结果。

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

是的,我是新来的!:)

其他回答

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

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

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

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

要删除所有派生数据和/var/文件夹中的模块缓存,请使用这个小ruby脚本。

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

这只是解决了一个致命的错误:畸形或损坏的AST文件:“无法加载模块”/var/文件夹/错误为我。

当使用“数据模型”时,在检查器中有选项 Generare类,对我来说,这是情况,因为已经有一个类 使用现有名称。

Codegen:帮我解决了。

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

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

以下是如何

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

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

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

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