Manual invocation
Report view
In addition to detection of shake gesture or screenshot issue report view can be triggered programmatically:
!Objective-C
[Bugsee showReportController];
// or pre-fill some fields, user will be able to modify them
[Bugsee showReportControllerWithSummary:@"Some problem"
description:@""
severity:BugseeSeverityMedium];
!Swift
// To stop video recording use
Bugsee.showReportController()
// or pre-fill some fields, user will be able to modify them
Bugsee.showReportController(summary: "Some problem",
description: "",
severity: BugseeSeverityMedium)
Issue create
You can build your own custom UI for collecting summary, description and severity from a user and use the following call to send it to Bugsee to upload.
Note: You should not use it for reporting errors automatically from within code, use Non-fatal errors for this instead.
!Objective-C
[Bugsee uploadWithSummary:@"Upload from code"
description:@"Some description"
severity:BugseeSeverityMedium];
!Swift
Bugsee.upload(summary: "Upload from code",
description: "Some description",
severity: BugseeSeverityMedium)
Non-fatal errors
It is possible to report non-fatal errors from code. These reports will get combined similar to crashes, and you will be provided with statistics and a break down by unique devices, IOS versions, etc.
!Objective-C
[Bugsee logError:[NSError errorWithDomain:@"com.example.errors.ServerIsDown"
code:10234 userInfo:@{
@"key1":@"value1",
@"key2": @"value2"}]];
!Swift
Bugsee.logError(NSError(domain: "com.example.errors.ServerIsDown",
code: 10234,
userInfo: ["key1": "value1", "key2": "value2"]))
Asserts
!Objective-C You can also let Bugsee validate asserts and auto create issues and upload them once the assert fails.
BUGSEE_ASSERT(balance > 0, @"Balance is wrong")
!Swift
// Unfortunately, there is no preprocessor in Swift, so you have to construct location string yourself
if balance < 0 Bugsee.logAssert(description: "Balance is wrong", location:"\(#function) (\(#file):\(#line))")