Fix for App Crashes During JSON Serialization After Updates #160
+30
−18
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.
Problem
I identified a specific crash pattern affecting users who installed the previous version of the app (with the older adjust_sdk) and then updated to the latest version. These users experienced crashes due to attempts to serialize
nil
JSON responses in the Adjust SDK. They can not open the app and immediately receive a blank screen and a crash. Users who directly installed the newest app version did not report this issue.Solution
This PR implements nil-checking mechanisms to prevent crashes during JSON serialization:
Added nil checks before JSON serialization:
AdjustSdk.m
: Added conditional checks before serializingattribution.jsonResponse
AdjustSdkDelegate.m
: Added similar protection for JSON serialization operationsSince this is a quite important bug for now, you might consider prioritizing it @uerceg
For more implementation details, see the commit.