sentry-cocoa-sdk 是做什么的?
在 Apple 平台(iOS、macOS、tvOS、watchOS、visionOS)上完整配置 Sentry SDK。适用于“为 iOS 添加 Sentry”、“为 Swift 添加 Sentry”、“安装 sentry-cocoa”或为 Apple 应用配置错误监控、追踪、性能分析、会话回放、日志记录或指标等场景。支持 SwiftUI 和 UIKit。
使用说明
前置条件
- 已安装 CocoaPods 或 Swift Package Manager
- 已获取有效的 Sentry DSN(数据源名称)
通过 CocoaPods 安装
在你的 Podfile 中添加:
pod 'Sentry', '~> 8.0'
然后运行:
pod install
通过 Swift Package Manager 安装
在 Xcode 中选择 File > Add Packages...,搜索 https://github.com/getsentry/sentry-cocoa,并选择最新版本。
基本初始化
在 AppDelegate.swift 或 SwiftUI 应用的入口文件中添加以下代码:
import Sentry
// 尽早初始化
SentrySDK.start { options in
options.dsn = "https://[email protected]/0"
options.debug = true // 开发阶段可启用调试日志
}
SwiftUI 集成
对于 SwiftUI 应用,可以在 @main 结构体中进行初始化:
import SwiftUI
import Sentry
@main
struct MyApp: App {
init() {
SentrySDK.start { options in
options.dsn = "https://[email protected]/0"
options.tracesSampleRate = 1.0 // 性能追踪采样率
options.profilesSampleRate = 1.0 // 性能分析采样率
}
}
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
UIKit 集成
对于 UIKit 应用,在 AppDelegate 的 application(_:didFinishLaunchingWithOptions:) 中初始化:
import UIKit
import Sentry
@main
class AppDelegate: UIResponder, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
SentrySDK.start { options in
options.dsn = "https://[email protected]/0"
options.tracesSampleRate = 0.5
}
return true
}
}
启用高级功能
性能追踪
options.tracesSampleRate = 1.0 // 设为 0 到 1 之间的浮点数
性能分析
options.profilesSampleRate = 1.0 // 需要同时启用性能追踪
会话回放
options.experimental.sessionReplay = SentryReplayOptions(sessionSampleRate: 1.0, errorSampleRate: 1.0)
日志记录
SentrySDK.capture(message: "自定义日志消息")
常见问题
- DSN 在哪里获取? 登录 sentry.io 或你的自托管 Sentry 实例,在项目设置中找到 DSN。
- 如何验证安装成功? 初始化时设置
options.debug = true,然后在代码中手动触发一个错误:SentrySDK.capture(error: NSError(domain: "test", code: 1))。 - 支持哪些 Apple 平台? iOS、macOS、tvOS、watchOS、visionOS。