Fix DYLD lock mechanism preventing compilation on iOS <10 #675
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.
This changeset is a port of #674 for bugsnag-cocoa v5 - original PR description copied below:
Goal
The previous fix for a DYLD deadlock issue has compile-time checks that determine the locking mechanism to use. This can cause apps with low deployment targets to fail IRL due to being built and tested on more modern OSs.
Design
The previous lock determination mechanism was purely compile-time
#ifdef
-based. This fix uses a combination of checks:The bulk of the logic was moved from setting
#define
s in the header to the combination approach in the main.m
file.The fix was targeted at v6 due to ongoing UAT but could also easily be back-ported to the v5 release.
Changeset
BSG_KSMachHeaders
andBSG_KSCrash
Tests
Run on both real iOS 9.3 iPad and in v13.X simulator.