Backtrace 2.0.6

Backtrace 2.0.6

Rick FosterMelekR维护。



Backtrace 2.0.6

  • Backtrace I/O

Backtrace 与 iOS 集成

Supported platforms Supported languages CocoaPods compatible License: MIT Build Status

Backtrace 与 iOS、macOS 和 tvOS 应用程序的集成允许您捕获和处理已处理和未处理的异常,以便您可以优先处理和调试软件错误。

安装

您可以通过 Swift Package Manager 或 CocoaPods 使用此 SDK。可以直接在 Xcode 中集成 SPM 包,或者通过编辑您的 package 的 Package.swift 文件来集成。
选择以下集成方法之一:

通过 Xcode

  1. 文件 > 添加包 中,搜索并添加 https://github.com/backtrace-labs/backtrace-cocoa.git
  2. 验证您的项目 包依赖列表 中的 backtrace-cocoa。
  3. 将 Backtrace 添加到您的目标 框架、库和嵌入内容 中。

通过Package.swift

将这个依赖项添加到您的Package.swift文件中

.package(url: "https://github.com/backtrace-labs/backtrace-cocoa.git)

通过CocoaPods

在您的Podfile中添加以下内容

  • 指定use_frameworks!
  • 添加Backtrace
    pod '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集成指南