我正在尝试在手机IOS 13 Beta上构建我的Xcode11 beta应用程序。当应用程序加载时,我会崩溃。
2019-07-22 13:58:12.910460+0300 GoodWine3738:792501故障:此应用程序中的一个或多个模型使用可转换属性,其转换名称要么未设置,要么设置为NSKeyedUnarchiveFromDataTransformerName。请改用"NSSecureUnarchiveFromData“或NSSecureUnarchiveFromDataTransformer的子类。在某个时候,当指定了nil时,核心数据将默认使用"NSSecureUnarchiveFromData“,包含不支持NSSecureCoding的类的可转换属性将变得不可读。 CoreData:故障:此应用程序中的一个或多个模型使用可转换属性,其转换名称要么未设置,要么设置为NSKeyedUnarchiveFromDataTransformerName。请改用"NSSecureUnarchiveFromData“或NSSecureUnarchiveFromDataTransformer的子类。在某个时候,当指定了nil时,核心数据将默认使用"NSSecureUnarchiveFromData“,包含不支持NSSecureCoding的类的可转换属性将变得不可读。 2019-07-22 13:58:12.910595+0300 GoodWine3738:792501 CoreData:此应用程序中的一个或多个模型使用可转换属性,其转换名称要么未设置,要么设置为NSKeyedUnarchiveFromDataTransformerName。请改用"NSSecureUnarchiveFromData“或NSSecureUnarchiveFromDataTransformer的子类。在某个时候,当指定了nil时,核心数据将默认使用"NSSecureUnarchiveFromData“,包含不支持NSSecureCoding的类的可转换属性将变得不可读。 CoreData:警告:实体'SFMCKeyValueEntity‘上的属性'value’使用的是零或不安全的NSValueTransformer。请改用"NSSecureUnarchiveFromData“或NSSecureUnarchiveFromDataTransformer的子类。
发布于 2019-08-09 14:32:45
我找到了这个解决方案。这些错误已经消失了,而且似乎起作用了。我一直在测试。
对于所有可转换的属性,我已经在数据模型检查器面板中将“转换器”设置为“NSSecureUnarchiveFromData”。

编辑:
经过几天的测试,我在以前的解决方案中添加了一些内容。
如果在更改后删除了应用程序,则前面的解决方案可以工作。否则,数据模型就不会被识别,而是从头开始创建,丢失了所有的历史信息(在生产过程中,这是不可接受的!)
我采用的最后一个解决方案是将这些更改添加到一个新模型中(遵循这个link)并实现迁移(总是在链接中描述)。
在这种情况下,警告只在更新后出现一次,然后消失。
https://stackoverflow.com/questions/57144796
复制相似问题