Paul Beusterien 258525fd8b Crashlytics - new public header structure (#6170) %!s(int64=5) %!d(string=hai) anos
..
Crashlytics 258525fd8b Crashlytics - new public header structure (#6170) %!s(int64=5) %!d(string=hai) anos
ProtoSupport 0b977bd636 Revert "Remove #if SWIFT_PACKAGE checks for nanopb (#6163)" (#6164) %!s(int64=5) %!d(string=hai) anos
Protogen a372ed2a27 import nanopb without touching CocoaPods imports (#6165) %!s(int64=5) %!d(string=hai) anos
Shared 031814cecd Crashlytics - Repo-relative imports and SwiftPM (#5931) %!s(int64=5) %!d(string=hai) anos
UnitTests 258525fd8b Crashlytics - new public header structure (#6170) %!s(int64=5) %!d(string=hai) anos
third_party 3dc11858ff Open Sourcing FirebaseCrashlytics (#4610) %!s(int64=6) %!d(string=hai) anos
CHANGELOG.md 2a6dee09b1 Fix potential strlen crash on NULL betaToken (#6083) %!s(int64=5) %!d(string=hai) anos
LICENSE 41b46131a1 Crashlytics update LICENSE file for libunwind (#4657) %!s(int64=6) %!d(string=hai) anos
README.md db3ace1bbd Update README.md for updating crash report uploads (#5207) %!s(int64=6) %!d(string=hai) anos
generate_project.sh d653c9584c Update copyright presubmit and fix 2020 copyrights (#5944) %!s(int64=5) %!d(string=hai) anos
run 3dc11858ff Open Sourcing FirebaseCrashlytics (#4610) %!s(int64=6) %!d(string=hai) anos
upload-symbols 53e71073d8 Merge upload-symbols version 3.3 (#5228) %!s(int64=6) %!d(string=hai) anos

README.md

Firebase Crashlytics SDK

Development

Follow the subsequent instructions to develop, debug, unit test, and integration test FirebaseCrashlytics:

Prereqs

  • At least CocoaPods 1.6.0
  • Install cocoapods-generate
  • For nanopb and GDT:
    • brew install protobuf nanopb-generator
    • easy_install protobuf python

To Develop

  • Run Crashlytics/generate_project.sh
  • open gen/FirebaseCrashlytics/FirebaseCrashlytics.xcworkspace

You're now in an Xcode workspace generate for building, debugging and testing the FirebaseCrashlytics CocoaPod.

Running Unit Tests

Open the generated workspace, choose the FirebaseCrashlytics-Unit-unit scheme and press Command-u.

Changing crash report uploads (using GDT)

Update report proto

If the crash report proto needs to be updated, follow these instructions:

  • Update ProtoSupport/Protos/crashlytics.proto with the new changes
  • Depending on the type of fields added/removed, also update ProtoSupport/Protos/crashlytics.options. CALLBACK type fields in crashlytics.nanopb.c needs to be changed to POINTER (through the options file). Known field types that require an entry in crashlytics.options are strings, repeated and bytes.
  • Run generate_project.sh to update the nanopb .c/.h files.