|
Muvicado HD
|
Simple class which automatically uploads crash logs and other relevant diagnostic information automatically made available by os x to a remote server. More...
#include <VVCrashReporter.h>


Instance Methods | |
| (void) | - check |
| This is the main method- when you call 'check', the crash reporter looks for crash logs, gets a basic system profile, and collects anything your applications has dumped to the console log. | |
| (void) | - openCrashReporter |
| (IBAction) | - replyButtonClicked: |
| (IBAction) | - doneClicked: |
| (void) | - sendACrashLog |
| (void) | - closeCrashReporter |
| (NSString *) | - _nibName |
| (NSString *) | - _consoleLogString |
| (NSMutableDictionary *) | - _systemProfilerDict |
| (NSString *) | - _stringForSystemProfilerDataType: |
| (void) | - updateCrashLogTimeout: |
| (void) | - dlFinished: |
| (void) | - setDeveloperEmail: |
| Sets the developer email address; this is displayed if the user has a problem connecting to the internet/the server the crash reporter is supposed to be connecting to. | |
| (NSString *) | - developerEmail |
| (void) | - setUploadURL: |
| This is the URL of the php/cgi/etc. page which the crash data will be POSTed to. | |
| (NSString *) | - uploadURL |
Protected Attributes | |
| NSString * | uploadURL |
| NSString * | developerEmail |
| MutLockArray * | crashLogArray |
| NSMutableDictionary * | systemProfilerDict |
| NSString * | consoleLog |
| int | jobSize |
| int | jobCurrentIndex |
| int | currentCrashLogTimeout |
| NSTimer * | currentCrashLogTimer |
| IBOutlet NSWindow * | window |
| IBOutlet NSButton * | replyButton |
| IBOutlet NSView * | emailFieldHolder |
| IBOutlet NSTextField * | emailField |
| IBOutlet NSTextView * | descriptionField |
| IBOutlet NSTextField * | submittingLabel |
| IBOutlet NSProgressIndicator * | progressIndicator |
| IBOutlet NSTextField * | countdownLabel |
| NSNib * | theNib |
| NSArray * | nibTopLevelObjects |
Properties | |
| id | delegate |
| The crash reporter's delegate is notified when the check has completed. | |
Simple class which automatically uploads crash logs and other relevant diagnostic information automatically made available by os x to a remote server.
it's been my experience that most apps crash much more frequently on end-users than the app's developers would guess. the simplest and easiest way to improve the end-user's experience is to have the application check their machine for crash logs- which are generated automatically by os x whenever an application crashes- and send them to the developer.
this class exists so i have a really easy way to make my apps send their crash logs to me; the goal here is to make it as easy as possible to get all the information i need to troubleshoot a problem with as little work on the user's part as possible. it also sends a basic system profile, anything the app- and ONLY the app, not other apps- recently printed to the console log, and optional description/email fields to facilitate communication directly with the user. this data is then uploaded to a given URL using an HTTP POST.
on the server side, i use a PHP page which sanitizes the POST data (i can't stress how important this step is) and works with it. i've included a sample PHP page that simply dumps the received data to a file on disk (and optionally emails someone) with this project.
HOW TO USE THIS CLASS:
1)- create an instance of this class
2)- set the instance's delegate, uploadURL, and developerEmail. these are necessary!
3)- call "check" on the instance. when it's done, it calls "crashReporterCheckDone" on the
delegate. that's it- you're done.
Definition at line 39 of file VVCrashReporter.h.
| - (NSString *) _consoleLogString |


| - (NSString *) _nibName |


| - (NSString *) _stringForSystemProfilerDataType: | (NSString *) | t |
| - (NSMutableDictionary *) _systemProfilerDict |


| - (void) check |
This is the main method- when you call 'check', the crash reporter looks for crash logs, gets a basic system profile, and collects anything your applications has dumped to the console log.


| - (void) closeCrashReporter |


| - (NSString *) developerEmail |
| - (void) dlFinished: | (id) | h |
Reimplemented from <VVCURLDLDelegate>.
| - (IBAction) doneClicked: | (id) | sender |
| - (void) openCrashReporter |


| - (IBAction) replyButtonClicked: | (id) | sender |
| - (void) sendACrashLog |


| - (void) setDeveloperEmail: | (NSString *) | n |
Sets the developer email address; this is displayed if the user has a problem connecting to the internet/the server the crash reporter is supposed to be connecting to.
| - (void) setUploadURL: | (NSString *) | n |
This is the URL of the php/cgi/etc. page which the crash data will be POSTed to.
| - (void) updateCrashLogTimeout: | (NSTimer *) | t |
| - (NSString *) uploadURL |
|
protected |
Definition at line 45 of file VVCrashReporter.h.
|
protected |
Definition at line 58 of file VVCrashReporter.h.
|
protected |
Definition at line 43 of file VVCrashReporter.h.
|
protected |
Definition at line 48 of file VVCrashReporter.h.
|
protected |
Definition at line 49 of file VVCrashReporter.h.
|
protected |
Definition at line 55 of file VVCrashReporter.h.
|
protected |
Definition at line 41 of file VVCrashReporter.h.
|
protected |
Definition at line 54 of file VVCrashReporter.h.
|
protected |
Definition at line 53 of file VVCrashReporter.h.
|
protected |
Definition at line 47 of file VVCrashReporter.h.
|
protected |
Definition at line 46 of file VVCrashReporter.h.
|
protected |
Definition at line 61 of file VVCrashReporter.h.
|
protected |
Definition at line 57 of file VVCrashReporter.h.
|
protected |
Definition at line 52 of file VVCrashReporter.h.
|
protected |
Definition at line 56 of file VVCrashReporter.h.
|
protected |
Definition at line 44 of file VVCrashReporter.h.
|
protected |
Definition at line 60 of file VVCrashReporter.h.
|
protected |
Definition at line 40 of file VVCrashReporter.h.
|
protected |
Definition at line 51 of file VVCrashReporter.h.
|
readwriteatomicassign |
The crash reporter's delegate is notified when the check has completed.
Definition at line 42 of file VVCrashReporter.h.