[PLAT-8918] Mac Catalyst: fix crash in addBreadcrumbForTableViewNotification:
#1485
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.
Goal
Fix a crash in
-[BSGNotificationBreadcrumbs addBreadcrumbForTableViewNotification:]
Bug report: #1484
Error:
Analysis
The crash was caused by
-[BSGNotificationBreadcrumbs addBreadcrumbForTableViewNotification:]
being passed a (subclass of)NSTableView
when compiling for Mac Catalyst.This method expects a
UITableView
to be passed when compiling forTARGET_OS_IOS || TARGET_OS_TV
.BSGNotificationBreadcrumbs
was erroneously listening forNSTableViewSelectionDidChangeNotification
instead ofUITableViewSelectionDidChangeNotification
becauseBSG_HAVE_APPKIT
is true when compiling for Mac Catalyst.This bug was introduced by #1361 (watchOS support) in v6.18.0.
Changeset
Makes
automaticBreadcrumbTableItemEvents
useTARGET_OS_IOS || TARGET_OS_TV
to determine which notification to listen for.Removes
BSG_HAVE_APPKIT
and related macros to avoid this confusion in the future.Tidies up some imports.
Testing
Manually reproduced issue in
examples/objective-c-ios
and verified the fix.