872 Commits

Author SHA1 Message Date
Andreas Linde
a236351d6e Store anonUUID in background thread to keychain
We got a (single) report that storing the anonymous UUID to the keychain can take multiple seconds causing the launch process to be locked and causing iOS to kill the app.

Storing in a background thread doesn't do any harm in our case, and if it fails, it would simply cause the next app start to produce another UUID which is fine.
2014-11-14 15:43:28 +01:00
Philip Kramarov
5f43886974 Changed the containsString to rangeOfString.
containsString is supported from iOS 8 only.
2014-11-10 23:49:54 +02:00
Andreas Linde
ef82814471 Improve app binary detection in crash reports
- Fix iOS 8 issue with not remove part of a path when using `stringByStandardizingPath` (removed leading `/private`)
- Exclude iOS swift libraries from being detect as app specific
2014-11-03 15:45:37 +01:00
Andreas Linde
1b2dad78d9 Encapsulate app name in CDATA when sending crash
In case an app name looks like an XML tag, this ensures that it can be processed correctly on the server by the XML reader
2014-10-31 15:36:31 +01:00
Andreas Linde
3356b1df1f Added new delegate for update process before exit
New delegate `updateManagerWillExitApp` for `BITUpdateManager` that is invoked right before the app wil exit to allow app update to start (>= iOS 8 only)
2014-10-24 01:23:34 +02:00
Andreas Linde
a93df35d7d Fix feedback screenshot trigger
AssetsLibrary isn't as fast as we want it to be to provide the screenshot always on the screenshot gesture trigger. So we delay fetching the data from AssetsLibrary by 0.5s and hope the screenshot will then be available.
2014-10-16 22:50:48 +02:00
Andreas Linde
d840cfd964 Don't store the updatemanager file in non beta
The BITUpdateManager did store an empty file even if the app is run via the App Store.
2014-10-08 06:15:45 -07:00
Andreas Linde
606344c730 Fixed feedback compose issue with predefined text
If there was predefined text to appear in a feedback compose view and the user added some more text and then added an attachment, the user added text was removed and only the predefined text appeared.
2014-10-08 06:07:08 -07:00
Cédric Luthi
f74cacb4c7 Fix static analyzer warning
When compiling for the iOS simulator, it would produce this warning.

The receiver of message 'resultType' is nil and returns a value of type 'NSTextCheckingType' that will be garbage
            switch (result.resultType) {
                    ~~~~~~ ^~~~~~~~~~
2014-09-30 15:40:26 +02:00
Andreas Linde
34f78ebbef Fix feedback compose view in landscape and iOS 8
In landscape the text couldn't be seen, since the text view was moved up due to iOS 8 returning the keyboard height now as `height` in landscape, while it did return it as `width` in previous iOS versions.
2014-09-26 17:31:28 +02:00
Andreas Linde
3354a36f11 Don't warn for missing resource with extensions
App extensions can't display UIAlerts for crashes anyway, so we don't need the extensions in the extension bundle.
2014-09-25 15:14:23 +02:00
Andreas Linde
3b9482c32a Improve iOS version runtime checks
Hardcode the iOS 6.1 and iOS 7.1 NSFoundationVersionNumber values, so the checks also work when compiling the source with iOS 6.1 or iOS 7.1 as base iOS version.
2014-09-25 10:21:55 +02:00
Andreas Linde
4f05060adb Fix extension check code to be iOS 6/7 compatible 2014-09-25 10:15:15 +02:00
Andreas Linde
2040206101 Add support for App Extensions
- Added simple detection method to check wether the SDK runs in an extension
- BITCrashManager will send crash reports without UI (UIAlertViews aren't allowed in extensions anyway)
- Don't start BITUpdateManager, BITStoreUpdateManager, BITFeedbackManager and BITAuthenticator in app extensions
2014-09-24 17:06:22 +02:00
Andreas Linde
24a6756ba7 Update image resources 2014-09-23 13:48:23 +02:00
Andreas Linde
c53cd6facd Request update of a specific version
Even though the UI showed the newest version that the device can install, the download request always triggered downloading the latest version.

This commit fixes this bug.
2014-09-19 15:03:08 +02:00
Andreas Linde
375994c125 Merge branch 'hotfix/3.5.7' into develop 2014-09-10 18:44:03 +02:00
Andreas Linde
14a8cd332a Add workaround for iOS 8 update process issue
In iOS 8 the app is not moved to background once the users accepts the iOS install alert button. Without this, the install process doesn't start. So for now we exit the app once that alert disappears.

Important: The iOS dialog offers the user to deny installation, we can't find out which button was tapped, so we assume the user agreed.
2014-09-10 12:52:09 +02:00
Andreas Linde
9b7cb24351 Fix documentation warning in BITCrashAttachment 2014-09-08 14:34:26 +02:00
Andreas Linde
5cd861dbb0 Fix formatting of appname in crash reports
Fixes highlights on HockeyApp backend of apps with special chars in their name
2014-09-08 14:25:02 +02:00
Andreas Linde
735792ed99 Fix a small typo in an alert of BITAuthenticator 2014-09-08 14:07:58 +02:00
Andreas Linde
b309613b71 Make keychain data better accessible
Use `kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly` instead of `kSecAttrAccessibleWhenUnlockedThisDeviceOnly` when storing data into the keychain to allow the data to be also fetched when the app is launched in the background
2014-09-08 14:07:47 +02:00
Andreas Linde
37ed085436 Add warnings to the console for the last commit
Notify the developer about the issues by logging a warning to the console when the SDK is initialized more than once or startManager is invoked multiple times
2014-09-08 14:07:41 +02:00
Andreas Linde
f6d717265e Make sure multiple setup runs are ignored
If the `configure` initializers or `startManager` are invoked multiple times, this can cause undefined behaviour and crashes. Hence we simply ignore if they are invoked multiple times.
2014-09-08 14:07:29 +02:00
Andreas Linde
915bae7d0b Fix update view for resizable iPhone
Resizable iPhone causes modal presentations not to be full screen any longer, so we always should use the views width and never the device-width for the version update data presentation. This also works just fine when build with iOS <= 7.1.x
2014-09-08 14:07:12 +02:00
Andreas Linde
58dde365a9 Fix broken auth
The commit 1678d7550a0cc667b14e1efa5608ce3d271bfa42 did break BITAuthenticator
2014-09-08 14:07:00 +02:00
Andreas Linde
53510f64cc Send install uuid with BITAuthenticator requests 2014-09-08 14:06:39 +02:00
Andreas Linde
aa7b2e018f Change attachmentData property of BITCrashAttachment to crashAttachmentData 2014-09-08 14:06:04 +02:00
Andreas Linde
8eaa029536 Fix incorrect error log message
The warning about `delegate` setting after calling `startManager` being incorrect, should actually only be shown if it was called after it and not before it. Doh.
2014-09-06 01:55:52 +02:00
Andreas Linde
aa5e68536d Fix formatting of appname in crash reports
Fixes highlights on HockeyApp backend of apps with special chars in their name
2014-09-03 14:14:34 +02:00
Andreas Linde
ccd04e1bcd Fix a small typo in an alert of BITAuthenticator 2014-09-03 14:13:59 +02:00
Andreas Linde
7b61bfa2a6 Make keychain data better accessible
Use `kSecAttrAccessibleAfterFirstUnlockThisDeviceOnly` instead of `kSecAttrAccessibleWhenUnlockedThisDeviceOnly` when storing data into the keychain to allow the data to be also fetched when the app is launched in the background
2014-08-26 20:12:50 +02:00
Andreas Linde
b2a40717c0 Add warnings to the console for the last commit
Notify the developer about the issues by logging a warning to the console when the SDK is initialized more than once or startManager is invoked multiple times
2014-08-26 17:37:24 +02:00
Andreas Linde
d7e17d2f1c Make sure multiple setup runs are ignored
If the `configure` initializers or `startManager` are invoked multiple times, this can cause undefined behaviour and crashes. Hence we simply ignore if they are invoked multiple times.
2014-08-26 17:31:57 +02:00
Andreas Linde
20a777ccf8 Fix update view for resizable iPhone
Resizable iPhone causes modal presentations not to be full screen any longer, so we always should use the views width and never the device-width for the version update data presentation. This also works just fine when build with iOS <= 7.1.x
2014-08-23 20:52:41 +02:00
Andreas Linde
a441811a42 Fix broken auth
The commit 1678d7550a0cc667b14e1efa5608ce3d271bfa42 did break BITAuthenticator
2014-08-08 16:20:23 +02:00
Daniel Tull
cc34cfece8 Fix missing call to super analyzer warning
This is flagged up in Xcode 6's shallow analyzer check.
2014-08-04 19:37:45 +01:00
Andreas Linde
1678d7550a Send install uuid with BITAuthenticator requests 2014-07-25 12:24:41 +02:00
Andreas Linde
bb165bdcef Use library caches folder for BITUpdateManager 2014-07-24 18:20:14 +02:00
Andreas Linde
47a3be4a79 Fix some best app icon finding issues
In some cases the algorithm didn't find any icon, even if they are there
2014-07-21 13:54:44 +02:00
Andreas Linde
6fc0e154cf Improve fetching the optimal icon of an app for the update view 2014-07-21 13:54:29 +02:00
Andreas Linde
2ae203d7a5 Fix a bug in the networking stack
Solves an networking issues when compiling with iOS 8
2014-07-21 13:54:01 +02:00
Andreas Linde
3917622aa5 Remove KVO observer on dealloc
This case should never happen, since the SDK is supposed to be used via the sharedInstance and never be deallocated.
2014-07-14 18:13:04 +02:00
Andreas Linde
53edf21c5d Fix some best app icon finding issues
In some cases the algorithm didn't find any icon, even if they are there
2014-07-08 21:03:26 +02:00
Andreas Linde
c4486099f9 Remove code that is not needed any more 2014-06-24 21:22:46 +02:00
Andreas Linde
85d5480def Improve feedback screenshot feature
- Use iOS 7 functionality when available (Thanks to Lee for the hint)
- Always include status bar area
2014-06-24 21:21:08 +02:00
Andreas Linde
8874ce0f82 Minor improvements for feedback list view 2014-06-24 21:06:51 +02:00
Andreas Linde
b6af4e1d46 Removed JMC support 2014-06-21 17:37:59 +02:00
Andreas Linde
cae1226b38 Allow customizable attachments to feedback
- New `BITHockeyAttachment` class, which `BITCrashAttachment` is now a subclass of
- Can also be used in `prepareWithItems:` for BITFeedbackComposeViewController
- Allows to set a custom filename and content-type for attachments that can be used with crash reports and with feedback
2014-06-21 16:23:55 +02:00
Andreas Linde
5fc0014385 Set data type specific attachment filenames 2014-06-21 01:24:33 +02:00