Raven 1.0.1

Raven 1.0.1

测试已测试
语言语言 Obj-CObjective C
许可 MIT
发布上次发布2017年3月

David CramerTommy MikalsenArmin RonacherSentry维护。



Raven 1.0.1

  • David Cramer

raven-objc

Sentry的Objective-c客户端。

安装

最简单的方式是使用CocoaPods。它将处理所有的要求和第三方依赖。

pod 'Raven', :git => 'https://github.com/getsentry/raven-objc.git', :tag => '1.0.1'

或者,您可以手动安装。

  1. 获取代码:`git clone git://github.com/getsentry/raven-objc`
  2. Raven子文件夹拖到您的项目中。勾选“复制项目到目标组文件夹”和您的目标。

或者您可以作为一个Git子模块添加此代码:

  1. cd [您的项目根目录]
  2. git submodule add git://github.com/getsentry/raven-objc
  3. Raven子文件夹拖到您的项目中。取消勾选“复制项目到目标组文件夹”框,勾选您的目标。

如何开始

尽管您可以为您的应用程序初始化尽可能多的`RavenClient`实例,但还有一个全局的单例实例是可用的。这个单例通常在应用程序委托的`application:didFinishLaunchingWithOptions:`方法中配置。

#import "RavenClient.h"

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    RavenClient *client = [RavenClient clientWithDSN:@"[SENTRY_DSN]"];
    // [...]
    return YES;
}

如果您想使用单例模式,可以用`+[setSharedClient:]`类方法设置使用的共享客户端。设置一个客户端后,您可以通过`sharedClient`单例方法检索单例实例。

[RavenClient setSharedClient:client];
NSLog(@"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__];

// Recommended macro to send a message with automatic stacktrace:
RavenCaptureMessage(@"TEST %i %@ %f", 1, @"2", 3.0);

处理异常

设置全局异常处理器

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    RavenClient *client = [RavenClient clientWithDSN:@"https://[public]:[secret]@[server]/[project id]"];
    [client setupExceptionHandler];
    // [...]
    return YES;
}

或者,捕获单个异常

@try {
    [self performSelector:@selector(nonExistingSelector)];
}
@catch (NSException *exception) {
    RavenCaptureException(exception);
}

您也可以捕获错误

NSError *error;
[[NSFileManager defaultManager] removeItemAtPath:@"some/path" error:&error];
RavenCaptureError(error);

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

ARC支持

raven-objc需要ARC支持,应在iOS 5.0和Mac OS X 10.7上运行。

问题和疑问

发现bug吗?请在GitHub上创建一个问题!

https://github.com/getsentry/raven-objc/issues

贡献力量

raven-objc是一个开源项目,您的贡献非常宝贵。

  1. 查找开放问题创建新问题来开始对特性想法或bug的讨论。
  2. 在GitHub上的仓库上进行Fork,并进行您的更改。
  3. 确保在AUTHORS列表中添加您的名字,并发送pull请求。

许可证

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