given the good feedback we got, this is take 2
of the BITAuthenticator interface.
It's simplified, cleaned up and now allows full
control over the authentication process.
Major changes:
* manual mode
Authenticator provides the bits to show the
viewController to identify the user as well as to
trigger validation on behalf of the developer.
* process separation
identification and app-usage-restriction are now
2 completely separated things.
* public identifier
Authenticator now allows the developer to query
parts of the information, e.g. the UDID or the user's
emailaddy once identified
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)
* factor out HockeyAppClient
* configure Authenticator with HockeyAppClient
* move appendPostValue to HockeyAppClient (& add the missing boundary parameter)
* move tests over to new file
- Mark messages as archived that got deleted on the server
- Send message even if the thread got deleted on the server, so create a new thread
- Support Pull-To-Refresh in iOS6
- Update feedback and send pending message when the app gets into the foreground again
- Always update user data via delegates before sending a new message, since those could have changed in the app
- 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)
* only define JIRA_MOBILE_CONNECT_SUPPORT_ENABLED if it's not already defined.
default is to disable it
* cleanup usage of JIRA_MOBILE_CONNECT_SUPPORT_ENABLED
it's always defined, so no need to check
- 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