Honeybadger for iOS and MacOS
Typical installation time: ~5 minutes
Hi there! You’ve found Honeybadger’s guide to Cocoa exception and error tracking for iOS and MacOS. Once installed, Honeybadger will automatically report errors in your iOS/macOS application.
Getting started
Section titled “Getting started”CocoaPods
Section titled “CocoaPods”To install via CocoaPods, create/open your Pods file and add a pod entry for ‘Honeybadger’. Make sure use_frameworks! is specified.
use_frameworks!
target 'MyApp' do pod 'Honeybadger'endSwift Package Manager
Section titled “Swift Package Manager”Open your app in Xcode, then go to File > Swift Packages > Add Package Dependency, and specify the Honeybadger Cocoa GitHub repo: https://github.com/honeybadger-io/honeybadger-cocoa
Initialization
Section titled “Initialization”You will need your Honeybadger API key to initialize the Honeybadger library. You can log into your Honeybadger account to obtain your API key.
In your App Delegate, import the Honeybadger library:
import HoneybadgerObjective-C
Section titled “Objective-C”@import Honeybadger;In your didFinishLaunchingWithOptions method, add the following code to
initialize Honeybadger:
Honeybadger.configure(apiKey:"PROJECT_API_KEY")Objective-C
Section titled “Objective-C”[Honeybadger configureWithAPIKey:@"PROJECT_API_KEY"];Usage examples
Section titled “Usage examples”Errors and exceptions will be automatically handled by the Honeybadger library, but you can also use the following API to customize error handling in your application.
notify
Section titled “notify”You can use the notify methods to manually send an error as a string or Error/NSError object. If available, the Honeybadger library will attempt to extract a stack trace and any relevant information that might be useful. You can also optionally provide context, to include any relevant information about the error.
Honeybadger.notify( errorString: "My error");
Honeybadger.notify( errorString: "My error", context: ["user_id" : "123abc"]);
Honeybadger.notify( error: MyError("This is my custom error."));
Honeybadger.notify( error: MyError("This is my custom error."), context: ["user_id" : "123abc"]);Objective-C
Section titled “Objective-C”[Honeybadger notifyWithString:@"My error"];
[Honeybadger notifyWithString:@"My error" context:@{ @"user_id" : @"123abc" }];
[Honeybadger notifyWithError: [[NSError alloc] initWithDomain:@"my.test.error" code:-1 userInfo: @{}]];
[Honeybadger notifyWithError:[[NSError alloc] initWithDomain:@"my.test.error" code:-1 userInfo: @{}] context:@{ @"user_id" : @"123abc" }];setContext
Section titled “setContext”If you have data that you would like to include whenever an error or an exception occurs, you can provide that data using the setContext method. You can call setContext as many times as needed. New context data will be merged with any previously-set context data.
Honeybadger.setContext(context: ["user_id" : "123abc"]);Objective-C
Section titled “Objective-C”[Honeybadger setContext:@{@"user_id" : @"123abc"}];resetContext
Section titled “resetContext”If you’ve used setContext to store data, you can use resetContext to clear that data.
Honeybadger.resetContext();Objective-C
Section titled “Objective-C”[Honeybadger setContext];