[PLAT-5155] Improve BugsnagConfiguration behaviour #828
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 & changes
This change aims to make the
BugsnagConfiguration
API easier to work with by making the-initWithApiKey:
initializer more prominent and deferring checks for the presence of an api key until-[BugsnagClient start]
is called.It also fixes the throwing of an exception if the api key is missing, by ensuring an
NSException
is thrown rather than a string - which ensures a message is logged in the app developer's Xcode console. As Apple's documentation says - "Cocoa applications should @throw only NSException objects"Design
This approach was chosen to avoid making any API breaking changes, and make our APIs more intuitive to work with, as discussed in PLAT-5155
Testing
This is covered by e2e and unit tests, which have been updated to cater for the changed runtime behaviour.