Sam Edson f5af4a98e2 Upgrade nanopb to 0.3.9.9 for collection of SDKs (#10447) há 3 anos atrás
..
Crashlytics 20daa458cf Fix possible deadlock in urgent state of report uploader (#9826) há 3 anos atrás
ProtoSupport ba0f4f2693 Combine nanopb scripts into a single location (#10439) há 3 anos atrás
Protogen f5af4a98e2 Upgrade nanopb to 0.3.9.9 for collection of SDKs (#10447) há 3 anos atrás
Shared a09083f9d0 [v9] Reorganize `FirebaseCore*` modules (#9482) há 4 anos atrás
UnitTests 20daa458cf Fix possible deadlock in urgent state of report uploader (#9826) há 3 anos atrás
third_party 3dc11858ff Open Sourcing FirebaseCrashlytics (#4610) há 6 anos atrás
CHANGELOG.md ced8b554a0 [Infra] Standardize CHANGELOG header format (#9777) há 3 anos atrás
LICENSE 41b46131a1 Crashlytics update LICENSE file for libunwind (#4657) há 6 anos atrás
README.md db3ace1bbd Update README.md for updating crash report uploads (#5207) há 6 anos atrás
generate_project.sh bab9af811f Remove watchOS for Crashlytics Pod Gen (#7372) há 5 anos atrás
run a7ab2ca184 the the typos (#9726) há 3 anos atrás
upload-symbols 5437380dd3 account for cases when --split-debug-info is used in Flutter apps (#10204) há 3 anos atrás

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.