Backtrace 与 iOS 集成
Backtrace 与 iOS、macOS 和 tvOS 应用程序的集成允许您捕获和处理已处理和未处理的异常,以便您可以优先处理和调试软件错误。
安装
您可以通过 Swift Package Manager 或 CocoaPods 使用此 SDK。可以直接在 Xcode 中集成 SPM 包,或者通过编辑您的 package 的 Package.swift 文件来集成。
选择以下集成方法之一:
通过 Xcode
- 在 文件 > 添加包 中,搜索并添加
https://github.com/backtrace-labs/backtrace-cocoa.git
- 验证您的项目 包依赖列表 中的 backtrace-cocoa。
- 将 Backtrace 添加到您的目标 框架、库和嵌入内容 中。
通过Package.swift
将这个依赖项添加到您的Package.swift
文件中
.package(url: "https://github.com/backtrace-labs/backtrace-cocoa.git)
通过CocoaPods
在您的Podfile
中添加以下内容
- 指定
use_frameworks!
。
- 添加
Backtrace
库
使用方法
Swift
|
let backtraceCredentials = BacktraceCredentials(endpoint: URL(string: Keys.backtraceUrl as String)!, |
|
token: Keys.backtraceToken as String) |
|
|
|
let backtraceDatabaseSettings = BacktraceDatabaseSettings() |
|
backtraceDatabaseSettings.maxRecordCount = 10 |
|
let backtraceConfiguration = BacktraceClientConfiguration(credentials: backtraceCredentials, |
|
dbSettings: backtraceDatabaseSettings, |
|
reportsPerMin: 10, |
|
允许附加调试器: true, |
|
检测OOM: true) |
|
BacktraceClient.shared = try? BacktraceClient(configuration: backtraceConfiguration) |
|
BacktraceClient.shared?.attributes = ["foo": "bar", "testing": true] |
|
BacktraceClient.shared?.attachments.append(fileUrl) |
|
|
|
do { |
|
try throwingFunc() |
|
} catch { |
|
BacktraceClient.shared?.send(attachmentPaths: []) { (result) in |
|
print("AppDelegate:Result:\(result)") |
|
} |
|
} |
Objective-C
|
BacktraceCredentials *credentials = [[BacktraceCredentials alloc] |
|
initWithEndpoint: [NSURL URLWithString: Keys.backtraceUrl] |
|
token: [Keys backtraceToken]]; |
|
BacktraceDatabaseSettings *backtraceDatabaseSettings = [[BacktraceDatabaseSettings alloc] init]; |
|
backtraceDatabaseSettings.maxRecordCount = 10; |
|
|
|
BacktraceClientConfiguration *configuration = [[BacktraceClientConfiguration alloc] |
|
initWithCredentials: credentials |
|
dbSettings: backtraceDatabaseSettings |
|
reportsPerMin: 3 |
|
allowsAttachingDebugger: TRUE |
|
detectOOM: TRUE]; |
|
BacktraceClient.shared = [[BacktraceClient alloc] initWithConfiguration: configuration error: nil]; |
|
BacktraceClient.shared.attributes = @{@"foo": "bar", @"testing": @YES}; |
|
BacktraceClient.shared.attachments = [NSArray arrayWithObjects:fileUrl, nil]; |
|
|
|
// 发送 NSException |
|
@try { |
|
NSArray *array = @[]; |
|
array[1]; // 将抛出异常 |
|
} @catch (NSException *exception) { |
|
[[BacktraceClient shared] sendWithAttachmentPaths: [NSArray init] completion: ^(BacktraceResult * _Nonnull result) { |
|
NSLog(@"%@", result); |
|
}]; |
|
} @finally { |
|
|
|
} |
文档
有关iOS SDK的更多信息,包括安装、使用和配置选项,请参阅Sauce Labs文档中的iOS集成指南。