138 Commits

Author SHA1 Message Date
Lukas Spieß
15582b7734 Cleanup and small logic error fix 2014-04-24 12:32:01 +02:00
Lukas Spieß
7a5077e7c1 semi-working prototype of custom Alert 2014-04-23 16:09:23 +02:00
Lukas Spieß
d22fb02ec2 Add ability to add a description to a crash report 2014-04-22 17:52:14 +02:00
Andreas Linde
20c73dcdc3 Send each crash report using an individual network request 2014-04-18 00:20:27 +02:00
Andreas Linde
973e130325 Migrate BITCrashManager to use BITHockeyAppClient 2014-04-17 22:50:22 +02:00
Lukas Spieß
91698b85a3 updates formatting and documentation 2014-04-16 17:12:17 +02:00
Lukas Spieß
9f9f44916a adds public method to handle user input from an alert view 2014-04-16 12:51:39 +02:00
Andreas Linde
06adc38535 Add a generic object which contains some basic information about the crash in the last session 2014-04-04 15:21:31 +02:00
Andreas Linde
e66714afca Define our own crash callback struct, so we don't need the PLCrashReporter headers to be public any longer 2014-04-04 15:15:48 +02:00
Andreas Linde
1f96aaab5e Fix installString not being added to the crash report 2014-04-04 13:12:39 +02:00
Lukas Spieß
50b0eb9bd1 remove unnecessary property 2014-03-28 12:39:06 +01:00
Lukas Spieß
c62b444272 start refactoring AlertView delegate 2014-03-28 12:30:45 +01:00
Andreas Linde
1068bb119c Add support for binary attachments to crash reports 2014-02-27 18:21:17 +01:00
Andreas Linde
1df317b59f If BITAuthenticator is set to BITAuthenticatorIdentificationTypeWebAuth then also attach the user email to crash reports 2014-02-20 14:02:02 +01:00
Andreas Linde
94ce869993 Merge branch 'refs/heads/develop' into feature/LowMemoryKills 2014-02-12 23:48:07 +01:00
Andreas Linde
53ae4c2dff Disable on device symbolication by default and add a property to enable it 2014-02-11 16:37:06 +01:00
Andreas Linde
6d6aa54bea Add new setter for global userID, userName, and userEmail properties
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.
2014-02-11 16:22:31 +01:00
Andreas Linde
88bf3fae62 Move creation of settings directory into helper function 2014-02-11 15:40:11 +01:00
Andreas Linde
ddf16f7062 Add a new line at the end of the application specific information string to be considered by the servers grouping 2014-02-10 13:30:46 +01:00
Andreas Linde
4d414b78f4 Make sure the flag that a memory warning was received is persisted right away
NSUserDefaults may not synchronize changes immediately, so if the kill happens before it persists changes, the information is lost.
2014-02-10 13:10:10 +01:00
Andreas Linde
cc480299eb Multiple improvements for heuristic based kill detection handling
- 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.
2014-02-10 01:52:15 +01:00
Andreas Linde
0cfa00924c Add enableDectionAppKillWhileInForeground option to BITCrashManager
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.
2014-02-10 01:06:59 +01:00
Andreas Linde
670e376e9e Change the default of crashmanagers showAlways property to YES
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.
2014-01-12 21:08:53 +01:00
Andreas Linde
235f7ac9fe Updated copyright for 2014 2014-01-12 19:25:22 +01:00
Andreas Linde
0712b8fa63 Use the correct User-Agent name when sending crash reports 2014-01-12 19:15:28 +01:00
Andreas Linde
47d90a7df3 Merge branch 'refs/heads/develop' into feature/improvements 2013-12-27 17:45:19 +01:00
Andreas Linde
cdfca4d330 Add the option to define callbacks that will be executed prior to program termination after a crash has occurred
This is _NOT_recommended to be used!

Code that runs in such callbacks need to be async-safe, which excludes ANY Objective-C code and lots of C as well. See https://www.plcrashreporter.org/documentation/api/v1.2-rc2/async_safety.html
2013-12-19 15:36:31 +01:00
Andreas Linde
720dbccefe Add generateTestCrash method 2013-12-18 20:47:04 +01:00
Andreas Linde
8cf4665570 Add generateTestCrash method 2013-11-21 00:03:14 +01:00
Andreas Linde
323b9784ea Simplified configuration
- Add simplified initializers
- Add option to set delegate via public property
2013-11-20 22:54:28 +01:00
Andreas Linde
56ca20098b Add additional tests for BITCrashManager 2013-09-25 14:36:53 +02:00
Andreas Linde
a23930a54e Add first set of basic unit tests for BITCrashManager
Also make minor changes to BITCrashManager to be able to test
2013-09-25 01:47:32 +02:00
Andreas Linde
71fcedfd82 This doesn't belong in here *sigh* 2013-09-24 21:35:19 +02:00
Andreas Linde
527de1d210 Add identification from BITAuthenticator to crash reports 2013-09-24 21:30:50 +02:00
Thomas Dohmke
14d4ccaddf Fix for userName, userEmail, and userID in crash reports. 2013-09-20 11:55:59 +02:00
Andreas Linde
3273fdd06a Add support for background fetch in BITCrashManager
Automatic sending crash reports or alert asking the user for permission to send crash reports will only appear if the app is running in the foreground
2013-09-16 13:19:13 +02:00
Andreas Linde
67d56af15d Fix warnings when building with iOS 7 as deployment target 2013-09-12 11:26:19 +02:00
Andreas Linde
11a8a14e4f Add support for excluding features at compile time
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
2013-09-11 19:18:21 +02:00
Andreas Linde
53d164d25d Update to custom PLCrashReporter v1.2 Beta 1 build with BIT namespace
- 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!
2013-08-31 13:19:52 +02:00
Andreas Linde
da3c5f2c4a Do not enable PLCrashReporter Exception or Signal handlers if the debugger is attached
This check is only done in non app store environment!
2013-08-17 16:01:05 +02:00
Andreas Linde
59db07771e Make sure not to process a crash report file that could not be parsed 2013-08-17 15:42:15 +02:00
Andreas Linde
81014659ed Remove deprecated log messages in crashmanager, since the delegate itself is already marked as being deprecated 2013-08-17 15:38:22 +02:00
Andreas Linde
88627a48b4 Guard PLCR initialization with dispatch_once instead of try/catch
PLCrashReporter may only be initialized once. So make sure the developer can't break this
2013-08-17 15:36:20 +02:00
Andreas Linde
6a27b6f453 Remove empty BITCrashManagerPrivate.h 2013-08-17 15:14:00 +02:00
Andreas Linde
0ce166c005 Document some more BITCrashManager methods 2013-08-17 14:57:58 +02:00
Andreas Linde
b6c77b8fb3 Integrate first test version of PLCrashReporter v1.2 with BIT namespace
Fixes #37
2013-07-21 21:11:22 +02:00
Andreas Linde
93c2f05fac Use Keychain for some data
- 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
2013-05-09 16:45:58 +02:00
Andreas Linde
89fa399787 Fix double definition of private method and add handling for unlikely malloc failure 2013-05-09 13:43:41 +02:00
Andreas Linde
ec458234ea Minor analyzer fixes 2013-02-23 15:19:36 +01:00
Andreas Linde
9f2f40bc06 Update copyright 2013-01-04 14:44:44 +01:00