RavenSwift 0.5.0

RavenSwift 0.5.0

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布上次发布2016年5月
SPM支持 SPM

Tommy Mikalsen 维护。



  • Tommy Mikalsen,Erik Sargent 和 Sean Cheng

raven-swift

用于 Sentry 的 Swift 客户端。

安装


最简单的方法是使用 CocoaPods。它负责所有的设置、所需框架和第三方依赖关系。

步骤

  1. 安装 Cocoapods
  2. 在 Podfile 中添加 raven swift: pod 'RavenSwift'
  3. 安装: pod install

或者,您可以手动安装。

  1. 获取代码: git clone git://github.com/getsentry/raven-swift
  2. RavenClient.swiftRavenConfig.swift 文件拖到您的项目中。检查“复制到目标组的文件夹中”和您的目标。
  3. 如果您想设置一个全局异常处理程序,将 UncaughtExceptionHandler.h.m 文件拖到您的项目中。检查“复制到目标组的文件夹中”和您的目标。

或者您也可以将其作为 Git 子模块添加

  1. cd [您项目的根目录]
  2. git submodule add git://github.com/getsentry/raven-swift
  3. RavenClient.swiftRavenConfig.swift 文件拖到您的项目中。取消选中“复制到目标组的文件夹中”框,选中您的目标。
  4. 如果您想设置一个全局异常处理程序,将 UncaughtExceptionHandler.h.m 文件拖到您的项目中。检查“复制到目标组的文件夹中”和您的目标。

如何入门

注意:如果您使用 Cocoapods,请在使用 raven 客户端的地方导入 RavenSwift

虽然您可以初始化与您的应用程序合适的 RavenClient 实例数量,但存在一个全局可用的共享单例实例。这个单例实例通常在应用程序代理的 application:didFinishLaunchingWithOptions: 方法中进行配置。

 func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {

        RavenClient.clientWithDSN("https://30d629f2df9c4fdf8507e1704c09a526:[email protected]/888")

        // [...]
        return true
}

初始化的第一个 RavenClient 自动配置为单例实例,并通过 sharedClient 单例方法提供。

println("I am your RavenClient singleton : \(RavenClient.sharedClient?)")
// Sending a basic message (note, does not include a stacktrace):
RavenClient.sharedClient?.captureMessage("TEST 1 2 3")

// Sending a message with another level and a stacktrace:
RavenClient.sharedClient?.captureMessage("TEST 1 2 3", level: .kRavenLogLevelDebugInfo, method: __FUNCTION__, file: __FILE__, line: __LINE__)

您还可以捕获错误

var error: NSError?
NSFileManager.defaultManager().removeItemAtPath("some/path", error: &error)

// Sending basic error 
RavenClient.sharedClient?.captureError(error!)

// Sending error with method, file and line number 
RavenClient.sharedClient?.captureError(error!, method: __FUNCTION__, file: __FILE__, line: __LINE__)

处理异常

如果您想设置全局异常处理程序,您需要将此添加到您的 桥接头。此步骤仅在手动安装时需要。CocoaPods 会为您处理此问题。

#import "UncaughtExceptionHandler.h"

然后您可以设置全局异常处理程序

func application(application: UIApplication, didFinishLaunchingWithOptions launchOptions: [NSObject: AnyObject]?) -> Bool {
    // Override point for customization after application launch.

    RavenClient.clientWithDSN("https://[public]:[secret]@[server]/[project id]")

    RavenClient.sharedClient?.setupExceptionHandler()

    return true
}

注意:当使用全局异常处理程序时,异常将在下一次启动应用程序时发送。

问题和疑问

有 Bug 吗?请创建 GitHub 上的问题!

https://github.com/getsentry/raven-swift_issues

贡献

raven-swift 是一个开源项目,您的贡献非常欢迎。

  1. 查找 开放问题新建一个新问题 或查看 Gitter 以开始关于特性想法或错误的讨论。
  2. Fork Github 上的 仓库 并进行您的更改。
  3. 请确保将自己添加到 AUTHORS 并发送一个 pull request。

许可证

raven-swift 在 MIT 许可证下可用。有关更多信息,请参阅 LICENSE 文件。