将实体添加到核心数据模型会阻止Canvas预览显示

时间:2020-09-12 05:33:50

标签: xcode core-data swiftui

我有一个带有核心数据模型的SwiftUI应用程序。该模型包含一些具有属性的实体。画布按预期工作,显示预览。

但是,每当我添加一个没有任何属性的新实体(事件)时,画布都将无法显示预览(事件是仅包含文本视图的基本视图)。错误消息如下:

无法在此文件中预览-无法完成该操作。交易失败。进程无法启动。

我试图清理缓存,派生数据文件夹,重置模拟器等。当我单击诊断时,这是消息:

Error Domain = FBProcessExit代码= 4“进程崩溃。” UserInfo = {NSLocalizedFailureReason =进程崩溃。,BSErrorCodeDescription =崩溃,NSUnderlyingError = 0x600002f29dd0 {Error Domain = signal Code = 4“ SIGILL(4)” UserInfo = {NSLocalizedFailureReason = SIGILL(4)}}}

RemoteHumanReadableError:该操作无法完成。交易失败。进程无法启动。 (进程启动失败)

BSTransactionError(1): ==错误说明:进程无法启动。 ==正在沉淀错误:错误域= FBProcessExit代码= 4“进程崩溃。” UserInfo = {NSLocalizedFailureReason =进程崩溃。,BSErrorCodeDescription =崩溃,NSUnderlyingError = 0x600002f29dd0 {Error Domain =信号代码= 4“ SIGILL(4)” UserInfo = {NSLocalizedFailureReason = SIGILL(4)}}} == NSLocalizedFailureReason:事务失败。进程无法启动。 (进程启动失败) ==事务: ==错误原因:进程启动失败

知道我为什么要这么做吗?

谢谢, Axel

PS:我正在使用Xcode 12 beta 6(也在beta 5上尝试过)。我在使用macOS Big Sur(20A5364e)。

3 个答案:

答案 0 :(得分:5)

Apple与我共享了此Terminal命令,该命令通过删除运行预览的模拟器而获得了很多帮助:

xcrun simctl --set预览删除所有

答案 1 :(得分:1)

我通过以下步骤解决了问题:

  1. 我在以下位置删除了预览画布模拟器: 〜/ Library / Developer / Xcode / UserData / Previews / Simulator Devices /
  2. 我在终端中使用了以下命令行: killall -9 com.apple.CoreSimulator.CoreSimulatorService
  3. 我重新启动了Xcode

预览画布可能具有旧版本的数据模型。

答案 2 :(得分:0)

上面的xcrun命令帮助我解决了此错误。

xcrun simctl --set previews delete all

通过Google搜索来查找此问题/答案非常困难,因为作者的错误消息不同于为我的应用程序生成的一个XCode 12。这是我的错误消息,以防他人通过Google更快地找到此问题。

Error Domain = FBProcessExit代码= 4“进程崩溃。” UserInfo = {NSLocalizedFailureReason =进程崩溃。,BSErrorCodeDescription =崩溃,NSUnderlyingError = 0x600003ba0a50 {Error Domain = signal Code = 4“ SIGILL(4)” UserInfo = {NSLocalizedFailureReason = SIGILL(4)}}}