CoreData:注释:无法在路径&var; / var / containers / Bundle / ....'

时间:2017-10-23 13:56:41

标签: ios swift xcode core-data

每次使用核心数据时,我都会在调试器中收到此错误(因此,如果我进行3次调用,则会收到3次警告)。

  

CoreData:注释:无法在路径' /var/containers/Bundle/Application/0B6C2326-D8D5-47B3-8C68-7693C16A0806/liveDemo.app/liveDemo.momd/liveDemo.omo'中加载优化模型;

它不会引起任何即时问题,但是当它们相加时,它会逐渐减慢应用程序的速度,直到它崩溃并出现NSException(它与用户当时的行为无关,它只会滞后更多更多然后在应用程序的任何一点崩溃。

我在3台设备(iPhone 7+ - iOS 11,iPhone 7 - iOS 11,iPad Aid - iOS 10.3)上测试了该应用程序,它只在iPad上进行。然而,当我启动该项目时,其中一部手机安装了iOS 10版本并且没有引起任何问题,因此虽然我无法完全排除它,但它似乎不太可能是操作系统版本的责任。

已尝试的步骤

  1. 卸载并安装应用,因此设备会清除核心数据文件,尝试使用和不安装应用时重新启动 - FAILED

  2. 在Xcode中删除并重写Scheme - FAILED

  3. 重新创建数据模型的NSManagedObjectSubclass - FAILED

  4. 有没有人遇到过与Xcode最新版本类似的东西并设法修复它? This is a 2 year old similar problem,但没有一个答案有所帮助。

1 个答案:

答案 0 :(得分:3)

所以,过了几天我就设法解决了。我对Xcode的内部不够熟悉,但我所要做的就是重写CoreData模型。最好在尝试之前备份!

  1. 获取当前属性的屏幕截图并删除CoreDataModel(.xcdatamodeld文件)
  2. 将新文件添加到项目(数据模型模板)
  3. 写旧属性
  4. 重新编译和构建
  5. 我的假设是问题是在将Xcode 8(用Swift 3编写)中启动的项目迁移到Xcode 9(升级到Swift 4)之后引起的。对于运行iOS 11的设备(与Xcode 9相同的升级级别)没有问题,但发现它一直导致滞后并最终在较旧的iOS版本中崩溃。

    我不明白为什么简单地修改文件属性没有解决它,但我很高兴修复它并继续前进。