Notice
Recent Posts
Recent Comments
Link
투케이2K
622. (ios/swift5) 파어베이스 크래시 리틱스 Firebase Crashlytics 에러 발생 추적 위한 커스텀 로그 log 추가 실시 본문
IOS
622. (ios/swift5) 파어베이스 크래시 리틱스 Firebase Crashlytics 에러 발생 추적 위한 커스텀 로그 log 추가 실시
투케이2K 2025. 1. 5. 12:19[개발 환경 설정]
개발 툴 : XCODE
개발 언어 : SWIFT5
[소스 코드]
// --------------------------------------------------------------------------------------
[개발 및 테스트 환경]
// --------------------------------------------------------------------------------------
- 언어 : Swift
- 개발 툴 : Xcode
- 기술 구분 : Firebase / Crashlytics / Log
// --------------------------------------------------------------------------------------
// --------------------------------------------------------------------------------------
[소스 코드]
// --------------------------------------------------------------------------------------
import Foundation
import UIKit
// ----------------------------------
// MARK: - [파이어베이스 라이브러리]
// ----------------------------------
import Firebase
// ----------------------------------
class C_FirebaseCrashlyticsLog {
/**
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* TODO [클래스 설명]
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* 1. 파이어베이스 크래시 리틱스 로그 관리 클래스
*
* (중요) : 디버그 모드로 빌드 시에는 파이어베이스 크래시리틱스에 로그가 전송 되지 않으므로, Release 모드로 전환 후 확인 필요
* >> Xcode 스킴에서 Build Configuration을 Release로 변경하고 Debug executable 체크를 해제
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* 2. 참고 : 사전 파이어베이스 콘솔에서 프로젝트 생성 필요
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* 3. 참고 : 파이어베이스 Crashlytics 라이브러리 추가 필요
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* 4. 참고 : 파이어베이스 공식 사이트
*
* https://firebase.google.com/docs/crashlytics/customize-crash-reports?hl=ko&platform=ios
* // -----------------------------------------------------------------------------------------------------------------------------------------------------------------
* */
// -----------------------------------------------------------------------------------------
// MARK: - [전역 변수 선언]
// -----------------------------------------------------------------------------------------
private static let ACTIVITY_NAME = "C_FirebaseCrashlyticsLog"
// -----------------------------------------------------------------------------------------
// MARK: - [SEARCH FAST] : crashlyticsLog : 파이어베이스 크래시 리틱스 로그 작성 수행
// -----------------------------------------------------------------------------------------
/*
*
* -----------------------------------------------------------------------------------------
* TODO [설명] : 파이어베이스 크래시 리틱스 로그 파일 작성 메소드
*
* 1) 파이어베이스 콘솔에서 앱 사용 중 에러가 발생해 Kill 된 경우 해당 로그를 추적해서 어디에서 다운이 되었는지 확인 수행
* 2) Crashlytics 는 앱의 속도가 느려 지지 않도록 로그의 크기를 64KB로 제한 하고, 세션의 로그 크기가 한도를 초과 하면 이전 로그 항목을 삭제
* -----------------------------------------------------------------------------------------
* TODO [Input] : 인풋 파라미터
*
* @param data : 파이어베이스 크래시 리틱스 로그 쌓기 위한 데이터 (ex : hello)
* -----------------------------------------------------------------------------------------
* TODO [Return] : 리턴 데이터
*
* @return : null
* -----------------------------------------------------------------------------------------
* TODO [History] : 이력 정리 [create , update , delete]
*
* 1) KwonGiHwan : create : 2025-01-04 : 최초 생성 수행
* -----------------------------------------------------------------------------------------
*
* */
// -----------------------------------------------------------------------------------------
// TODO [호출 방법 소스 코드]
// -----------------------------------------------------------------------------------------
/*
C_FirebaseCrashlyticsLog().crashlyticsLog(data: "A_Intro :: Start")
*/
// -----------------------------------------------------------------------------------------
func crashlyticsLog(data: String) {
DispatchQueue.main.async {
S_Log._F_(description: C_FirebaseCrashlyticsLog.ACTIVITY_NAME + " :: crashlyticsLog :: 파이어베이스 크래시 리틱스 로그 작성 수행", data: [
"\(data)"
])
// [Firebase Set Crash Log]
Crashlytics.crashlytics().log("\(data)")
}
}
} // [클래스 종료]
// --------------------------------------------------------------------------------------
반응형
'IOS' 카테고리의 다른 글
Comments