测试已测试 | ✗ |
语言语言 | Obj-CObjective C |
许可 | MIT |
发布上次发布 | 2017年3月 |
由David Cramer、Tommy Mikalsen、Armin Ronacher、Sentry维护。
Sentry的Objective-c客户端。
最简单的方式是使用CocoaPods。它将处理所有的要求和第三方依赖。
pod 'Raven', :git => 'https://github.com/getsentry/raven-objc.git', :tag => '1.0.1'
或者,您可以手动安装。
Raven
子文件夹拖到您的项目中。勾选“复制项目到目标组文件夹”和您的目标。或者您可以作为一个Git子模块添加此代码:
cd [您的项目根目录]
git submodule add git://github.com/getsentry/raven-objc
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);
注意:当使用全局异常处理器时,异常将在应用程序下一次启动时发送。
raven-objc需要ARC支持,应在iOS 5.0和Mac OS X 10.7上运行。
发现bug吗?请在GitHub上创建一个问题!
https://github.com/getsentry/raven-objc/issues
raven-objc是一个开源项目,您的贡献非常宝贵。
raven-objc可供MIT许可证下使用。有关更多信息,请参阅LICENSE文件。