iOS SDK

OpenTelemetry 기반 Apple SDK의 구성과 수집 범위, 현재 개발 상태, 문서를 읽는 순서를 안내합니다.

Sophonz Apple SDK는 OpenTelemetry 위에 만들어졌습니다. 네트워크 요청, 화면 로드, 탭, 크래시, 행(hang), 로그와 세션을 자동으로 수집합니다. 앱 코드에서 하는 일은 시작 시점에 Sophonz.start(options:)를 한 번 부르는 것뿐이며, 계측은 캡처 서비스가 시스템 API를 감싸 처리합니다.

NOTE — 현재 버전

v1.0.0이 최신 릴리스이며, XCFramework와 체크섬이 릴리스 자산으로 함께 올라갑니다. 앱 키로 Sophonz 수집기에 직접 보내는 경로가 기본이고, 자체 OpenTelemetry 익스포터를 붙이는 경로도 그대로 있습니다. 설치에서 둘 다 설명합니다.

구성

모듈역할
SophonzIO공개 API. Sophonz 클래스와 옵션
SophonzCore구현
SophonzCaptureService캡처 서비스의 기반 클래스
SophonzSemantics속성 키와 스팬 타입
SophonzOTelBridgeopentelemetry-swift 연결

앱이 링크할 것은 SophonzIO 하나입니다. 이름이 *Internal인 모듈은 지원 대상 API가 아닙니다.

수집 범위

  • 크래시 — KSCrash 기반 리포터 또는 Firebase Crashlytics 브리지, 그리고 MetricKit 진단
  • 성능 — 네트워크 요청, 화면 로드, 앱 시작, 행 감지
  • 사용자 경험 — 화면 전환, 탭, WebView 로드
  • 시스템 — 메모리 경고, 저전력 모드, 푸시 알림

각 항목의 기본 설치 여부와 플랫폼 제약은 계측 항목에 있습니다.

데이터 형식

수집한 데이터는 OpenTelemetry 스팬과 로그입니다. 분류는 spz.type 속성으로 하며 Android SDK와 같은 키를 씁니다. 다만 Apple에는 state 타입이 없어, Android가 상태 타임라인으로 남기는 것을 Apple은 스팬이나 스팬 이벤트로 남깁니다.

Sophonz.OTelOptions로 익스포터를 지정하면 Sophonz 외의 OTLP 백엔드로 같은 데이터를 보낼 수 있습니다.

플랫폼

플랫폼최소 버전비고
iOS13.0전체 기능
tvOS13.0행 감지 포함
macOS13.0행 감지 없음
watchOS6.0탭·화면·WebView 계측 없음

CocoaPods로 설치하는 경우 iOS만 지원합니다.

읽는 순서

  1. 설치 — 패키지 추가와 SDK 시작
  2. 설정 — 옵션과 캡처 서비스 조정
  3. 계측 항목 — 무엇이 수집되고 어떻게 분류되는지
  4. API 레퍼런스 — 직접 기록을 남길 때
  5. 예제 — 완성된 형태

NOTE — 이전 버전 문서

이전 SDK의 설치·설정·웹뷰 연동 문서는 그대로 남겨 두었습니다. 패키지 이름과 API가 모두 다르므로 두 문서를 섞어 참고하지 마세요.