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
- Only start the updateManager if the installation is authenticated (not yet tested)
- Provide the installation data to the updateManager requests
- Some more documentation
- Authenticator defaults to BITAuthenticatorAuthTypeUDIDProvider and BITAuthenticatorValidationTypeNever
- Reset usage time if installation identification changes (not yet tested)
- 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
- 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)
The flag shouldn't be required, and worked in the demo project absolutely fine. But from now to then there was an Xcode bug that made it required again and some non reproducible scenarios where reported by users where it doesn't work without the flag. To fix this for always and forever, we don't use categories any more.
- checkForUpdateOnLaunch was not used when it should
- checkForTracker should still work, if UpdateManager is disabled! (This needs to be refactored in a future version)
- Also fixes sending two update check requests on startup instead of only 1
- Also make sure that the requests are really send if checkForTracker is enabled, no matter if updateManager is disabled or checkForUpdateOnLaunch is disabled, but don't show the update alert in those cases
- Don't send usage information when run from the app store and checkForTracker is enabled
Uses neverending UIAlertView by default, can be exchanged by implementing a new delegate. Automatically disabled when the app is running from the App Store.
- Write all temp data into the same directory under caches/<sdkidentifier>/...
- Write approved crashes into its own plist instead of user defaults
- Use a temp file for analyzing crash report file instead of user defaults boolean
- Fix some define namings
- Remove update settings UI
- Only one property that defines if user and usage data is send (only if the app is not running in the app store)
- Update documentation