gpt4 book ai didi

swift - 核心数据实体多种构建配置

转载 作者:行者123 更新时间:2023-11-30 10:48:50 25 4
gpt4 key购买 nike

我有 3 种构建配置:调试、发布和开发。为了开发,我创建了一个新的方案,其中包含新的bundleID、产品名称等,这样我就可以在手机上看到哪个是DEV 和DEBUG。

我正在使用核心数据,并且对于带有原始bundleID的DEBUG,一切工作正常,但是当我切换到使用开发数据时,当我尝试创建一个名称为:的新实体时,我收到错误:

NSEntityDescription.insertNewObject(forEntityName: "MyEntity", into: managedContext)

我得到的错误:

Could not cast value of type 'NSManagedObject_MyEntity_' (0x600002d62b20) to 'AppName_DEV.MyEntity' (0x102bf9368).

它似乎试图从我的“AppName DEV”方案而不是“AppName”获取 MyEntity 类。我找不到任何可以指向它使用相同模型的build设置?

关于如何在多个构建配置中使用核心数据有什么想法吗?

最佳答案

好的,我发现问题了。由于我试图恢复一个最初用 swift 2 编写的非常旧的应用程序,我突然想到我可能会仔细检查数据模型是如何创建的。经过几个小时的修改核心数据设置过程后,我更改了两件事,最终使其正常工作。

1.) 在.xcdatamodeld 文件中,在数据模型检查器 的右侧,确保您具有模块字段我里面有我的AppName,它与原始目标名称相同。

2.) 我将 @objc(EntityName) 添加到我拥有的 NSManagedObject 子类中。

  • 当然,我清理了项目,从模拟器中删除了应用程序并重新安装了它。

如果你有这样的问题,希望whis能帮助你,祝你好运!

关于swift - 核心数据实体多种构建配置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55105192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com