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 isssues 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))")