SwiftUI 앱에 Firebase Crashlytics 도입
개요
첫 포스트입니다...!
SwiftUI를 공부하기도 전에 개인 앱을 만들었으므로, 그때 도입한 Crashlytics의 도입 방법에 대해 설명합니다.
이미 cocoaPods와 Firebase 기능의 일부를 사용했기 때문에 다소 접혀 있습니다.
프로젝트를 만들고 초기화하는 방법은 공식 문서를 참조하십시오.
htps : // 푹 빠져라. 오, ぇ. 이 m / 두 cs / c 등 shly 치 cs / 게 ts r d? p t t rm = 이오 s
Firebase Crashlytics란?
충돌 보고서를 수집하고 분석하는 서비스입니다.
그 외에도 Smartbeat과 같은 여러 충돌 보고서 서비스가 있습니다.
도입 방법
1.Crashlytics 설치
먼저 Podfile을 업데이트합니다.
Podfile
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
Podfile을 업데이트한 후 다음을 실행하여 라이브러리를 사용할 수 있도록 합니다.
$ pod install
2. Xcode의 Build Phases에서 Run Script 섹션 추가
아래 그림과 같이 왼쪽의 + 버튼에서 Run Script를 생성합니다.
3. Run Script에 필요한 설정 설명
셸 필드 아래
다음 코드를 작성합니다.
"${PODS_ROOT}/FirebaseCrashlytics/run"
그런 다음 입력 파일에 있는 + 버튼을 두 번 눌러 각 행에 다음 코드를 표시합니다.
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
이미지처럼 되어 있으면 OK입니다.
4. Xcode의 Build Settings 설정 변경
Xcode의 Build Settings 탭을 열고 Debug Information Format의 DEBUG 설정을 DWARF에서 DWARF with dSYM File로 변경합니다.
5. AppDelegate.swift를 준비하여 Firebase의 공유 인스턴스를 구성합니다.
자신은 AppDelegate를 준비하고 초기화했지만 Main View의 init 부분에서 가도 문제 없다고 생각합니다.
AppDelegate.swiftimport Firebase
import UIKit
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
FirebaseApp.configure()
return true
}
}
AppDelegate를 참조할 수 있도록 설정
???.swift@main
struct ???: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
6. 임의의 View에 크래시 시키는 버튼을 배치한다
아래와 같은 버튼을 설치하여 충돌시키십시오.
ContentView.swiftstruct ContentView: View {
var body: some View {
Button(action: {
fatalError()
}, label: {
Text("クラッシュさせる")
})
}
}
이제 Firebase의 Crashlytics 대시보드에 해당 충돌 이벤트가 표시될 것입니다.
Reference
이 문제에 관하여(SwiftUI 앱에 Firebase Crashlytics 도입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/kimukazu/items/6933d7548eb873fc7719
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
pod 'Firebase/Crashlytics'
pod 'Firebase/Analytics'
$ pod install
"${PODS_ROOT}/FirebaseCrashlytics/run"
${DWARF_DSYM_FOLDER_PATH}/${DWARF_DSYM_FILE_NAME}/Contents/Resources/DWARF/${TARGET_NAME}
$(SRCROOT)/$(BUILT_PRODUCTS_DIR)/$(INFOPLIST_PATH)
import Firebase
import UIKit
class AppDelegate: NSObject, UIApplicationDelegate {
func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
FirebaseApp.configure()
return true
}
}
@main
struct ???: App {
@UIApplicationDelegateAdaptor(AppDelegate.self) var appDelegate
var body: some Scene {
WindowGroup {
ContentView()
}
}
}
struct ContentView: View {
var body: some View {
Button(action: {
fatalError()
}, label: {
Text("クラッシュさせる")
})
}
}
Reference
이 문제에 관하여(SwiftUI 앱에 Firebase Crashlytics 도입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/kimukazu/items/6933d7548eb873fc7719텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)