【问题标题】:XIB actualization problemXIB 实现问题
【发布时间】:2011-07-22 21:30:14
【问题描述】:

我在处理 Xcode 时遇到了一个奇怪的问题。当我使用模拟器运行我的项目时,我得到了正确的 xib 显示,但是当我选择我的 iPhone 作为目标时,它显示了那个 xib 的旧版本......我对此感到很疯狂,我试图清理目标,删除并在 iphone 上重新安装应用程序,:^S 请问有人可以帮我解决这个问题吗? 非常感谢,对不起我的英语。

【问题讨论】:

  • 只是想一想:旧的xib是否仍然存在于项目文件夹中?您是否完全关闭了 Xcode/IB,然后重新启动,并检查了 Xcode 项目和 IB 是否都指向正确的 xib?我发现 IB 像小猎犬一样坚持旧的联系。
  • 您好,Matteo,非常感谢您的帮助。我已经通过删除 xib 和他的 viewcontroller 文件并从备份中恢复来解决这个问题。正如您所建议的,问题似乎与源目录中的文件有关:^)但我仍然对模拟器显示最新版本的 xib 而不是设备的事实无语... O_o
  • 是的,模拟器/iPhone 不匹配很奇怪。为了保持 Xcode/IB/simulator/debugger/device/files 的协调,必须有很多非常复杂的齿轮工作。很高兴你从齿轮之间逃脱。
  • 我只记得早期教程中的一个提示,它使这个问题看起来更加奇怪。当您在模拟器中运行后续版本时,建议您偶尔执行 iPhone Simulator > Reset Content and Settings,因为模拟器会保留旧版本。但你所经历的是相反的。无论如何,一切都很好,结局很好。
  • Wienke,为我解决了这个问题。奇怪的是它缓存了明显改变的东西。

标签: iphone xcode xib


【解决方案1】:

当 Xcode 在模拟器和设备上安装 iOS 应用的开发版本时,它会将 .app 包中的所有文件复制到模拟器或设备上应用的目标目录中。但是,它不会删除旧文件。这有时会导致奇怪的效果。

例如:

你有MyView~ipad.xibMyView.xib 用于iPhone,你安装应用程序并在设备上运行它,现在你决定删除MyView~ipad.xib,这样它就可以像iPhone 一样使用MyView.xib,你在模拟器中测试它,它工作正常,但是当你再次将它放在设备上时,它仍然使用旧的 iPad xib 文件,但是当它甚至不在项目中时怎么办?好吧,在您真正从设备上删除应用程序之前,旧文件仍然存在于设备上的文件系统中。

当您从项目中删除文件或将它们重命名为其他文件时,可能会发生这种情况,旧文件仍然存在,特别是如果您有回退行为或 iOS 如何自动查找其他后缀,如 @2x 或 ~ ipad - 这很容易引起混乱。每当您发现奇怪的效果(例如旧版本的文件似乎会自己复活,或者它在一台设备上运行但在另一台设备上运行时)时,请检查这一点。

【讨论】:

    猜你喜欢
    • 2023-04-05
    • 2011-10-23
    • 1970-01-01
    • 2010-10-15
    • 2011-01-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多