【发布时间】:2023-03-15 23:30:03
【问题描述】:
我看到 Core Data 出现错误,这似乎表明当我从设备中删除应用程序时,旧数据库并未被删除。以下是我正在采取的步骤:
- 从我的设备中删除应用程序(点按并按住应用程序,然后点按删除按钮)。
- 从TestFlight 安装应用程序。
- 运行应用程序。它启动并运行良好 - 直到它进行核心数据查询导致它崩溃。崩溃的根本原因是'keypath bar not found in entity
'
现在,根据步骤 3 中所述的错误,似乎 Foo 上不存在“bar”,而我的问题与核心数据模型有关。但是,相同的代码在模拟器上运行没有问题,甚至在通过 Xcode 连接时在设备上运行良好。 (我已经多次验证我在 Xcode 中用于在模拟器和设备上运行的代码与我的 TestFlight 构建中的代码相同。)问题仅在通过 TestFlight 安装时存在,但我看不到有理由将我的问题归咎于 TestFlight。
我团队中的另一个人按照相同的步骤也会出现同样的问题,因此问题不是特定于我的设备。该应用未使用 iCloud、MobileMe 或任何其他同步功能。
当我从我的设备中删除应用程序时,是否会删除所有与 Core Data 相关的内容? Core Data 删除或初始化行为是否会根据应用在设备上的安装方式而改变?
【问题讨论】:
-
您是否使用任何 iCloud/MobileMe 同步?例如跨设备保存的首选项或对象。虽然这可能无法解释为什么它在不使用 TestFlight 时会起作用 - 但@steven-fisher 关于构建配置的评论可能适用。
-
我没有使用任何形式的同步。我已经尝试了其他配置并且遇到了同样的问题。