- Marked the feature as `EXPERIMENTAL`
- renamed property to `enableAppNotTerminatingCleanlyDetection`
- Added details about the heuristic algorithm
- Added optional delegate to let the developer influence if a report should be considered as a crash or not
- Adjusted the description string in the generated report to make it more clear what actually happened.
This option implements basic heuristics to detect if the app got killed by the iOS watchdog while running in foreground, which can only happen if:
- The app tried to allocate too much memory
- Main thread doesn't respond for some time
It is not possible to detect all cases where such kills can occur.
This results in crash report alerts by default showing the `Always` button, so they will never be asked again and future crash reports will be send automatically.
Features can be excluded/included at compile-time using #define statements, e.g. using `Preprocessor Macros`. These don't influence if the feature will actually be enabled, since that can also be done at runtime and some features are disabled automatically in the App Store or disabled by default in general.
The BITHockeyManager header file will still reference all modules, but accessing the modules will not be possible if excluded from the library.
Value of 1 includes the feature into the static library, 0 will exclude the feature from the static library.
Defaults:
Crash Reporting: HOCKEYSDK_FEATURE_CRASH_REPORTER 1
Feedback: HOCKEYSDK_FEATURE_FEEDBACK 1
App Store Updates: HOCKEYSDK_FEATURE_STORE_UPDATES 1 (This feature is disabled by default in code!)
Authenticator: HOCKEYSDK_FEATURE_AUTHENTICATOR 1
Beta Updates: HOCKEYSDK_FEATURE_UPDATES 1
Jira Mobile Connect: HOCKEYSDK_FEATURE_JIRA_MOBILE_CONNECT 0
- Adjust to new PLCR initialization scheme
- Don't enable PLCR if the app is starting with a debugger attached
- Add option to enable Mach exception handler. It is strongly discouraged to use this in release builds!
- Added SFHFKeyChainUtils with BIT prefix
- Save username, email or userid (if provided by the app or the user) in the keychain instead of user defaults or property files
If PLCrashReporter wrote a crash report, that could not be read, no delegate was fired. That could make the app stay in the start up maintenance screen, if it handles crashes on startup.
Though there was no report this ever happened, there is the theoretical chance this could.
Uses iOS 6 ASIdentifierManager class or identifierForVendor if the class is not available. Fallback on iOS 5 is to use app path UUID which is generated by iOS when installing the app
- Use one common static lib target
- create embeddedFramework as binary distribution including docset in one zip
- Add HockeySDK.xcconfig for easier build setting setup
- Move everything into a single directory, too many problems making binary and subproject work without requing recursive header search paths
- Documentation update pending
- First implementation on feedback, not finished yet!
- Move all components into their own subdirectory
- Restructure common delegates into BITHockeyManagerDelegate
- Restructure common component methods into new superclass (not finished yet)