Swift Module: Crash Reporter

Swift Module: Crash Reporter

by on ‎04-18-2018 10:57 AM (149 Views)

 

Purpose

Tealium Crash Reporter automatically tracks crashes in your app. Once the module is enabled and the accompanying frameworks are installed, a crash event is triggered if a crash occurs in your app.

Supported Platforms

  • iOS

External Dependencies

TealiumCrashReporteriOS

Recommended Usage

Usage of this framework is recommended to get vital information regarding your app's crashes.

Included Variables

Variable Name Description Example Value
crash_uuid Required CC2DA0E9-E544-429A-AC5E-A268FC62F02A
device_memory_usage Required 143.57MB
device_memory_available Required 1068.88MB
device_os_build Required 15E217
crash_process_id Required 84351
crash_process_path Required /DemoApp.app/DemoApp
crash_parent_process Required launchd_sim
crash_parent_process_id Required 83183
crash_name Required Crash Name
crash_cause Required Crash Reason
crash_signal_code Required #0
crash_signal_name Required SIGABRT
crash_signal_address Required 4572945982
crash_libraries Required [{"baseAddress": "0xa3e0000", "codeType": { "arch": 64, "typeEncoding": "Mach"}, "imageName": "/Applications/Xcode9.3.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/Library/CoreSimulator/Profiles/Runtimes/iOS.simruntime/Contents/Resources/RuntimeRoot/usr/lib/dyld_sim", "imageSize": 212992, "imageUuid": "4015e9b70bde"}]
crash_threads Required {"crashed": 1,"registers": {"cs": "0x07"},"stack": {"instructionPointer": 4572945982,"symbolInfo": {"symbolName": "","symbolStartAddr": 0},"threadId": ""}}

Add the Dependency

There are three ways to add TealiumCrashReporteriOS.framework to your app.

Carthage

  1. Follow the steps outlined in Swift Carthage Installation
  2. Run carthage update --platform iOS in your terminal window
    • this will produce
      • Tealium.framework
      • TealiumCrash.framework
      • TealiumCrashReporteriOS.framework
    • all three of these frameworks should be included into your app
  3. Be sure to follow the instructions listed in the Carthage Getting Started documentation to add the relevant Build Phases scripts, to ensure you don't run into any issues when submitting your app to the App Store

Cocoapods

  1. Use the following entry in your Podfile (Swift CocoaPods Installation):
pod 'tealium-swift/Crash'
  • this is the only entry in your podspec when using the Crash Reporter
  1. Run pod install in your terminal window
  • this will setup both the Tealium.framework and TealiumCrashReporteriOS.framework in your workspace

Manual

  1. Follow the steps outlined in Swift Manual Installation
  2. Download the TealiumCrashReporteriOS.framework from our Github repo
  3. Build the Tealium and TealiumCrash scheme
  4. Drag and drop the Tealium.framework, TealiumCrash.framework and TealiumCrashReporteriOS.framework to the Embedded Binaries section within Xcode

Initialization

Once TealiumCrashReporteriOS.framework is added to your project, you don't have to do anything else. As long as the crash module is enabled and the Tealium SDK is initialized, when a crash is exhibited in your app, crash data will automatically be part of the tracking call.

Public API

// import area
// For Cocoapods
import tealium_swift

// For Carthage or Manual installation
import TealiumCrash

// Invoke a crash
TealiumCrashReporter.invokeCrash(name: "TEST_CRASH_NAME", reason: "TEST_CRASH_REASON")

Future Improvements

No planned changes

Change Log

Build 1

  • Initial release