问题
I'm receiving a message in the log saying
'bundleNamePlaceholder'[8424:100146] [general] 'NSKeyedUnarchiveFromData' should not be used to for un-archiving and will be removed in a future release
The message is not clear to me but I'm assuming that it might be something related to a CoreData object or maybe its content
Is there a way to catch what's throwing this message or what might cause it?
回答1:
apple is removing NSKeyedUnarchiveFromData
at some point because it's not secure by default. if you're storing a transformable value using NSKeyedUnarchiveFromData
in coredata, it will then become unreadable.
https://www.kairadiagne.com/2020/01/13/nssecurecoding-and-transformable-properties-in-core-data.html
and https://developer.apple.com/forums/thread/107533
回答2:
To find out what is causing these log messages, try adding symbolic break points for
+[NSKeyedUnarchiver unarchiveObjectWithData:]
and
+[NSKeyedUnarchiver unarchiveTopLevelObjectWithData:error:]
This helped me help finding the culprit.
来源:https://stackoverflow.com/questions/62589985/nskeyedunarchivefromdata-should-not-be-used-to-for-un-archiving-and-will-be-re