fix(iOS): fix iOS 15.5 NSPredicate
error.
#3420
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Fix crash due to a new
NSPredicate
error.This new error caused by accessing a computed property by its keypath inside a predicate (
NSExpression
comparison). This raised a mysterious new Signal 6 (for simulators with iOS version 15.5) from[_NSPredicateUtilities _predicateSecurityAction]
.The exception error message was:
NSPredicate: NSFunctionExpression with selector 'dtx_text' is forbidden.
(dtx_text
is a computed property).Replacing the expression comparison predicate with a block predicate and calling the computed property
dtx_text
as calling a method on the evaluated object solved this issue.