Honeybadger for iOS and MacOS
用于将 Honeybadger 集成到您的 iOS 和 MacOS 应用程序中的 SDK。此 SDK 可以用于 Swift 和 Objective-C 项目。
安装
CocoaPods
要通过 CocoaPods 安装,请创建/打开您的 Pods 文件,然后为 'Honeybadger' 添加一个 pod 条目。请确保指定 use_frameworks!
use_frameworks!
target 'MyApp' do
pod 'Honeybadger'
end
Swift 包管理器
在 Xcode 中打开您的应用程序,然后转到 文件 > Swift 包 > 添加包依赖项,并在 Honeybadger Cocoa GitHub 仓库中指定: https://github.com/honeybadger-io/honeybadger-cocoa
初始化
您需要您的 Honeybadger API 密钥才能初始化 Honeybadger 库。您可以登录您的 Honeybadger 账户以获取您的 API 密钥。
在您的 App Delegate 中,导入 Honeybadger 库
Swift
import Honeybadger
Objective-C
@import Honeybadger;
在您的 didFinishLaunchingWithOptions
方法中,添加以下代码来初始化 Honeybadger
Swift
Honeybadger.configure(apiKey:"{{PROJECT_API_KEY}}")
Objective-C
[Honeybadger configureWithAPIKey:@"{{PROJECT_API_KEY}}"];
使用示例
错误和异常会被Honeybadger库自动处理,但您也可以使用以下API来自定义应用程序中的错误处理。
notify
您可以使用 notify 方法手动发送一个错误作为字符串或Error/NSError对象。如果可用,Honeybadger库将尝试提取堆栈跟踪和任何可能有用相关信息。您还可以可选地提供 上下文,包括关于错误的相关信息。
Swift
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
[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
如果您希望在发生错误或异常时包含数据,您可以使用setContext方法提供数据。您可以根据需要多次调用setContext。新的上下文数据将与之前设置的任何上下文数据合并。
Swift
Honeybadger.setContext(context: ["user_id" : "123abc"]);
Objective-C
[Honeybadger setContext:@{@"user_id" : @"123abc"}];
resetContext
如果您已经使用setContext存储了数据,您可以使用resetContext来清除这些数据。
Swift
Honeybadger.resetContext();
Objective-C
[Honeybadger setContext];
许可证
Honeybadger iOS/MacOS SDK 采用了 MIT 许可协议。请参阅本存储库中的 LICENSE 文件以获取详细信息。