【问题标题】:CoreData: annotation: Failed to load optimized model at path with Xcode 9 GMCoreData:注释:无法使用 Xcode 9 GM 在路径加载优化模型
【发布时间】:2018-02-28 22:32:08
【问题描述】:

未能加载 OMO 警告(可能崩溃):

在调试/发布版本(iOS 11 GM/beta 和 iOS 10)期间,在控制台中观察到带有 xcode 9 以下警告的项目:

CoreData: annotation:  Failed to load optimized model at path "/Users/xyz.abc/Library/Developer/CoreSimulator/Devices/A-GUID/data/Containers/Bundle/Application/B-GUID/app-name.app/Frameworks/framework-name/mystorename.momd/mystorename 6.omo"

任何使用 CD 的自定义框架(例如 GoogleMaps 等)也会导致此警告和潜在的崩溃。

更新:使用 Xcode11,注意到与 DTDeviceKitBase.framework 类似的问题:

CoreData: annotation: Failed to load optimized model at path '/Applications/Xcode11.app/Contents/SharedFrameworks/DTDeviceKitBase.framework/Versions/A/Resources/CrashDatabaseModel.momd/CrashDatabaseModel-5.0.1.omo'

注意:

  • 还注意到 app 和其他框架中使用的模式。对于应用程序,干净的构建会导致此错误。警告点中显示的路径指向与应用而非框架一起使用的模型。
  • 使用以前的 Xcode 编译可以正常工作,并且不会出现警告。

尝试以下:

  1. 完整的干净构建
  2. 确保数据模型 v6 中存在 omo,ManagedObjectModel 和 PersistentStoreCoordinator 不为零。所有功能都按预期工作。
  3. 添加更新版本的 datamodel v7,确保 omo v7 存在 -- 干净的构建和设备部署
  4. 再次添加架构

请添加建议。 此警告的潜在影响是什么?

相关:

  1. https://openradar.appspot.com/33212613
  2. https://openradar.appspot.com/33573724
  3. https://openradar.appspot.com/33773917
  4. https://issuetracker.google.com/issues/35827124
  5. https://issuetracker.google.com/issues/35827113

旧 Xcode 6/iOS 9 和 Xcode 7/iOS 9 的类似问题

  1. Core Data - Failed to load optimized model at path
  2. CoreData: Failed to load optimized model at path
  3. Google Maps SDK for iOS Runtime warning - Core Date Failed to Load Optimised Path

【问题讨论】:

  • 嘿,你解决了吗?
  • @DaNLtR,还没有。我还没有观察到崩溃,计划在几天后恢复。
  • tnx:) googleMaps SDK 无缘无故地让我的 ios 11 应用崩溃!
  • 我在周末对我的应用程序进行一些更新以更新它时看到了该警告(当前版本适用于 iOS 11,但我想开始删除一些弃用警告,因为该应用程序最初是为iOS 5)。当我今天去使用该应用程序时,它在尝试打开我的一个核心数据文件时崩溃了。我有一个核心数据文件的备份(该应用程序进行备份)并且我能够打开它。希望苹果能尽快解决这个问题。很高兴我没有更新 App Store!
  • 查看这个answer链接的问题。

标签: ios objective-c core-data xcode9


【解决方案1】:

现在处理它的唯一方法(ios 11 = 崩溃,不仅仅是警告)是降级你的 sdk!!

在您的 Podfile 中修改以下行:

pod 'GoogleMaps', '2.2'
pod 'GooglePlaces', '2.2'

完成此操作后,运行pod update 以便更新库。
任何高于它的版本都会崩溃。

更新:尝试创建新目标并运行更新的 pod - 为我们工作

【讨论】:

  • 也可以在其他框架(不是 GoogleMap)上使用它并使用干净的构建应用程序代码。记录的警告具有指向与应用程序一起使用的模型的路径。
  • 框架的 xcode11 也会发生:/Applications/Xcode11.app/Contents/SharedFrameworks/DTDeviceKitBase.framework
【解决方案2】:

将 Xcode 升级到版本 9.1 beta (9B46) 不会在控制台中输出此警告。尝试以下重现控制台消息:

  • 彻底清洁 pod,并重建项目。
  • 完整的 Xcode 清理,包括派生数据、模拟器清理。
  • 设备部署,未观察到崩溃。

【讨论】:

  • 你的意思是Beta没有警告吗?
  • 更新了答案。是的,9.1 (9B46) 测试版没有警告。
  • :(我在 9B46 版本上遇到了同样的问题
  • 这显然是我的应用程序,因为错误与我的数据模型有关,新版本的模型。
  • 出现错误并使用 9B55 崩溃。我有一个版本化模型并添加了一个新版本,但仍然在设备上收到崩溃和控制台警告,并且在模拟器上崩溃没有控制台警告。
【解决方案3】:

GoogleMaps 2.5.0 已经发布,应该可以解决这个问题。

这里是问题跟踪器:Crashes on iOS 11

只需更新您的 Podfile

pod 'GoogleMaps'
pod 'GooglePlaces'

还有 pod 更新

我在模拟器上收到这些警告,在将我的“GoogleMaps”pod 恢复到 2.2 后,API 不再显示地图。我更新到刚刚发布的 2.5,地图现在可以工作,但我仍然得到这些日志。

还可以尝试干净的构建!每当我打开一个导入了 GoogleMaps 的控制器时,我的应用程序突然开始崩溃,一切都很好,所以我花了几个小时,最后只是做了一个干净的构建,问题就解决了!

command + shift + B

【讨论】:

  • 为我解决了这个问题,但我仍然收到警告。尝试一个干净的构建:command + shift + B
  • 我有类似的问题,但没有使用 pod 'Google....'。我只使用这些 pod 'Parse'、'Parse/UI' 和 'SwiftSoup'。
【解决方案4】:

使用 Product->Clean Build Folder 执行 Clean Build Folder 在 Xcode 11.5 中为我解决了这个问题。我没有在我的应用程序中使用任何与谷歌相关的东西,这个问题突然出现了。希望这对某人有所帮助。

【讨论】:

    猜你喜欢
    • 2019-11-16
    • 2018-04-04
    • 2018-04-03
    • 1970-01-01
    • 2015-12-19
    • 1970-01-01
    • 2015-12-16
    • 2019-03-01
    相关资源
    最近更新 更多