All mehotds in BITFeedbackManager that are screenshot releated are changed to include an option that defines wether the screenshot should include the statusbar (if present) or not:
- `- (UIImage *)screenshot` has been changed to `- (UIImage *)screenshotWithStatusBar:(BOOL)includeStatusBar)`
- `- (void)showFeedbackComposeViewWithGeneratedScreenshot` has been changed to `- (void)showFeedbackComposeViewWithGeneratedScreenshotWithStatusBar:(BOOL)includeStatusBar`
- Remove not used code
- Fixed some code style
- use a subdirectory in the SDK caches folder, instead of creating another folder directly under caches
- Height of feedback cells only considers attachments that actually can be previewed.
- If an attachment has no source URL and no local URL, don't show it, not even a loading placeholder, don't consider to reserve space in the cell for it
- refresh attachment cache when new data is loaded or one or all message(s) with attachments have been deleted locally
- `feedbackObservationMode` is a property instead of a method
The values are used by the `BITCrashManager` to attach to a crash report and`BITFeedbackManager for assigning the user to a discussion thread.
The value can be set at any time and will be stored in the keychain on the current device only! To delete the value from the keychain set the value to `nil`.
These properties are optional and alternatives to the delegates. If you want to define specific values for each component, use the delegate instead which do overwrite the values set by these properties.
Also fixed a typo in the delegates documentation.
Goal: make BITFeedbackComposeViewControllerDelegate usable for the view controller used by BITFeedbackListViewController
- The delegate is automatically set to the global BITHockeyManager delegate
- When invoking your BITFeedbackComposeViewController, it is possible to overwrite the delegate
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
* factor out HockeyAppClient
* configure Authenticator with HockeyAppClient
* move appendPostValue to HockeyAppClient (& add the missing boundary parameter)
* move tests over to new file
This is a change to previous behavior! Now the SDK by default shows the user data UI and subsequent compose UI always modally to ensure proper functionality on all scenarios the feedback viewer can be presented.
The new property `showFirstRequiredPresentationModal` in `BITFeedbackManager` can be set to `NO` if the previous behavior of pushing the UI and Compose view onto the stack, when those are being forced to be shown on the first presentation of the feedback UI. Especially if you present the UI in a popover, you should NOT change this property!
- 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 the userName and userEmail delegates are implemented and the requireUserEmail or requireUserName are changed after that, then the user interface is shown even though the delegates define the values and the user shouldn't be able to change that.