100 Commits

Author SHA1 Message Date
Andreas Linde
c4e7754a8b Merge branch 'refs/heads/feature/CrashReporting' into feature/CrashDetails
Conflicts:
	Classes/BITCrashManager.h
2014-04-27 20:04:31 +02:00
Andreas Linde
56f5fa9ddd Merge branch 'refs/heads/feature/CrashReporting' into feature/CrashCallback
Conflicts:
	Classes/BITCrashManager.h
	Classes/BITCrashManager.m
	Support/HockeySDK.xcodeproj/project.pbxproj
2014-04-27 20:02:26 +02:00
Lukas Spieß
82b217f19d Much better test for attachment persisting 2014-04-25 16:23:39 +02:00
Lukas Spieß
535537aa73 add additional tests 2014-04-25 14:23:33 +02:00
Lukas Spieß
654620ee3f add test for persistUserProvidedCrashDescription 2014-04-24 18:18:09 +02:00
Lukas Spieß
d232fe58f6 move cleanup to separate method 2014-04-24 18:17:46 +02:00
Lukas Spieß
5442b217eb Use .desc file extension for userProvidedCrashDescription 2014-04-24 16:47:47 +02:00
Lukas Spieß
3b2b76b34e move persisting of userProvidedCrashDescription to own method 2014-04-24 16:46:27 +02:00
Lukas Spieß
b5348f7dcb Types should start with a capital letter 2014-04-24 16:38:23 +02:00
Lukas Spieß
10c5475a02 make method signature consistent and reflect those changes in documentation 2014-04-24 16:32:34 +02:00
Lukas Spieß
3fd8cdc7e0 replace ugly block notation with clean typedef 2014-04-24 16:11:34 +02:00
Lukas Spieß
1311846241 update method signature 2014-04-24 16:10:12 +02:00
Lukas Spieß
4aee9f81b5 Small optimizations 2014-04-24 15:38:31 +02:00
Lukas Spieß
27cc84a84c Maybe a switch case should return a value... 2014-04-24 15:38:10 +02:00
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
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