'NSKeyedUnarchiveFromData' 不应用于取消存档,并将在未来的版本中删除
'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release
我在日志中收到一条消息说
'bundleNamePlaceholder'[8424:100146] [general]
'NSKeyedUnarchiveFromData' should not be used to for un-archiving and
will be removed in a future release
我不清楚该消息,但我假设它可能与 CoreData 对象或其内容有关
有什么方法可以捕捉到是什么原因引发了这条消息,或者是什么原因导致的?
apple 将在某些时候删除 NSKeyedUnarchiveFromData
,因为默认情况下它不安全。如果您在 coredata 中使用 NSKeyedUnarchiveFromData
存储可转换值,它将变得不可读。
https://www.kairadiagne.com/2020/01/13/nssecurecoding-and-transformable-properties-in-core-data.html
要找出导致这些日志消息的原因,请尝试为
添加符号断点
+[NSKeyedUnarchiver unarchiveObjectWithData:]
,
+[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:error:]
,以及
+[NSKeyedUnarchiver unarchiveObjectWithFile:]
这帮助我找到了罪魁祸首。
在我的例子中,问题在于在 CoreData 中使用 Transformable
类型来保存字符串数组。默认情况下,CoreData 使用 NSKeyedUnarchiver
而不是 NSSecureUnarchiveFromData
转换器。于是换变压器解决了这个问题。
通常这与 Core Data Transformable 属性有关,但在我的例子中,这也是由外部库引起的,该库使用 NSValueTransformer.valueTransformerNames
迭代运行时可用的所有值转换器 类。这也导致了日志中的相同错误,并且此处其他答案中给出的符号断点没有捕获到它们。因此,如果您找不到拥有此日志的原因,您可能还想在代码中搜索 NSValueTransformer
并检查某处是否存在类似问题。
对我来说,问题出在 GoogleAnalytics 框架上,多亏了@Lutz,我才得以解决。对于那些面临 GA 问题的人,请使用更新的 sdk,这个问题似乎已经解决
GA SDK
我在日志中收到一条消息说
'bundleNamePlaceholder'[8424:100146] [general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release
我不清楚该消息,但我假设它可能与 CoreData 对象或其内容有关
有什么方法可以捕捉到是什么原因引发了这条消息,或者是什么原因导致的?
apple 将在某些时候删除 NSKeyedUnarchiveFromData
,因为默认情况下它不安全。如果您在 coredata 中使用 NSKeyedUnarchiveFromData
存储可转换值,它将变得不可读。
https://www.kairadiagne.com/2020/01/13/nssecurecoding-and-transformable-properties-in-core-data.html
要找出导致这些日志消息的原因,请尝试为
添加符号断点+[NSKeyedUnarchiver unarchiveObjectWithData:]
,
+[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:error:]
,以及
+[NSKeyedUnarchiver unarchiveObjectWithFile:]
这帮助我找到了罪魁祸首。
在我的例子中,问题在于在 CoreData 中使用 Transformable
类型来保存字符串数组。默认情况下,CoreData 使用 NSKeyedUnarchiver
而不是 NSSecureUnarchiveFromData
转换器。于是换变压器解决了这个问题。
通常这与 Core Data Transformable 属性有关,但在我的例子中,这也是由外部库引起的,该库使用 NSValueTransformer.valueTransformerNames
迭代运行时可用的所有值转换器 类。这也导致了日志中的相同错误,并且此处其他答案中给出的符号断点没有捕获到它们。因此,如果您找不到拥有此日志的原因,您可能还想在代码中搜索 NSValueTransformer
并检查某处是否存在类似问题。
对我来说,问题出在 GoogleAnalytics 框架上,多亏了@Lutz,我才得以解决。对于那些面临 GA 问题的人,请使用更新的 sdk,这个问题似乎已经解决 GA SDK