Xcode显示旧的,已删除的xib文件

时间:2010-09-22 02:49:21

标签: xcode ios xib

我一直在搜索,但没有找到任何帮助...

我使用两个UIViewControllers构建了一个小型测试应用,并且相应的xibs.事情很好,然后我对xibs进行了一些更改,但是当我构建并运行时,我得到了旧观点。我已经尝试删除构建文件夹,在模拟器和设备中运行,清理所有目标,但仍然是我完全改变的旧的,分解的xibs仍然出现。我重新启动了所有Xcode应用程序,甚至我的计算机。

非常恼火!

编辑:我从未弄清楚问题是什么。基本上,一旦我建立了一个项目,它就会记住我制作的第一个xib,并且不会识别它们的变化。如果我告诉视图控制器从一个不同的,有效的笔尖名称加载,它会抱怨旧的名称不存在。

我重新安装了Xcode,现在它再次运行。啧。

13 个答案:

答案 0 :(得分:13)

尝试从模拟器中删除应用程序(按住应用程序的图标以进入抖动模式,然后通过应用程序单击X)并从设备中删除。然后让Xcode重新安装它。

答案 1 :(得分:7)

使用

清理构建
  

产品 - >清洁

菜单。

答案 2 :(得分:2)

只需稍微修改一下XIB文件,然后保存它们,xCode将检测修改(文件系统中的最后修改日期),然后从其实际路径加载xib,而不是从缓存路径加载:P

答案 3 :(得分:2)

我刚刚发现(并修复了)一个相关的问题 - 一个表现出相似症状但其根本原因略有不同的问题。

特别是,我观察到的症状是我的iPad应用程序最初会显示第一页的旧故事板图像,并在短暂延迟后显示最近编辑的故事板内容。我经历了上述大部分阴谋都无济于事。

问题是iPad加载器首先只是将应用程序的启动图像笨拙地加载到屏幕上。您通常将此图像设置为XCode中应用程序的早期管理设置的一部分。在发布时,当最终用户正在考虑内容并思考触摸屏幕的位置时,应用程序正在疯狂地准备好自己,取消存档xib / nib / storyboard,并执行 real 做好准备的工作。

在理想情况下,提供的启动图像是像素对像素,与nib-unarchiving-process生成的图像相同。但是,如果您在更新故事板后忘记更新启动图像,则会在完成归档时看到图像移位。

我不会怀疑这个问题,除了我已经阅读了Jef Raskin关于他如何在Canon Cat文字处理器上做到这一点的描述,以提供即时应用程序的错觉:它利用了这样一个事实:应用程序启动的典型人工响应时间大约为7秒 - 即使基于软盘的系统加载并覆盖加载程序设置的位图外观也有足够的时间。有时,阅读一些神秘的历史是件好事。杰夫当然会继续创建一个名为Macintosh的项目,剩下的就是历史 - 这个错误。

答案 4 :(得分:1)

不确定这是否有帮助,但我刚才有这个。

花了我几天的时间来解决这个问题。在我的情况下,我增强了现有的Xib文件。我在界面构建器中应用的更改从未出现在应用程序中。

最终我找到了原因。我将我的FilesOwner视图插座设置为顶视图下方的子视图。当我增强视图时,我将其作为顶视图的扩展。因此,运行应用程序时从未出现过更改。

将视图插座更改为正确的视图(在我的情况下是顶视图)就可以了,这一切都很好......

答案 5 :(得分:1)

我知道史蒂夫找到了解决办法,但问题根本不在XIB文件中。 Xcode不会将YouApplication-info.plist文件更新为

如果打开它,您将看到以下行:主nib文件基本名称。您必须更改该值以反映所需的NIB文件名

答案 6 :(得分:1)

我遇到了这个问题,这是xcode继续复制以前编译的xib的结果 - 即使源文件被删除,构建缓存也没有。产品>清理然后重新编译解决了它。

答案 7 :(得分:1)

我刚遇到此问题,只需从模拟器中删除该应用即可 然后对你的项目进行清理。
在xCode中, 转到产品菜单, 选择清洁。

或者只需按Shift + Command + K!

答案 8 :(得分:0)

我最终从头开始重新创建了xibs并且有效。非常令人沮丧。

答案 9 :(得分:0)

您可以尝试稍微修改您的XIB,因此xCode将检测文件系统中上次修改日期的修改。然后它将从其实际路径加载xib,而不是从xCode缓存加载。

答案 10 :(得分:0)

我有同样的问题,但我通过将系统的日期时间更改为今天来解决它。并重新保存了xib。我正在测试本地通知。

答案 11 :(得分:0)

只是一个假设,不确定是否真的导致了它:我完成了一个在模拟器和实际设备上运行良好的XIB。然后我将其更改为在Xcode 4.5.1中本地化。在我手动从设备中删除应用程序并通过Xcode重新安装之后,我之后所做的更改未同步到设备。

答案 12 :(得分:0)

删除派生数据,清理项目并构建。旧的xib被神奇地移除了。 :D