1 |
efrain |
1 |
# Firebase Crashlytics SDK
|
|
|
2 |
|
|
|
3 |
## Development
|
|
|
4 |
|
|
|
5 |
Follow the subsequent instructions to develop, debug, unit test, and
|
|
|
6 |
integration test FirebaseCrashlytics:
|
|
|
7 |
|
|
|
8 |
### Prereqs
|
|
|
9 |
|
|
|
10 |
- At least CocoaPods 1.6.0
|
|
|
11 |
- Install [cocoapods-generate](https://github.com/square/cocoapods-generate)
|
|
|
12 |
- For nanopb and GDT:
|
|
|
13 |
- `brew install protobuf nanopb-generator`
|
|
|
14 |
- `easy_install protobuf python`
|
|
|
15 |
|
|
|
16 |
### To Develop
|
|
|
17 |
|
|
|
18 |
- Run `Crashlytics/generate_project.sh`
|
|
|
19 |
- `open gen/FirebaseCrashlytics/FirebaseCrashlytics.xcworkspace`
|
|
|
20 |
|
|
|
21 |
You're now in an Xcode workspace generate for building, debugging and
|
|
|
22 |
testing the FirebaseCrashlytics CocoaPod.
|
|
|
23 |
|
|
|
24 |
### Running Unit Tests
|
|
|
25 |
|
|
|
26 |
Open the generated workspace, choose the FirebaseCrashlytics-Unit-unit scheme and press Command-u.
|
|
|
27 |
|
|
|
28 |
### Changing crash report uploads (using GDT)
|
|
|
29 |
|
|
|
30 |
#### Update report proto
|
|
|
31 |
|
|
|
32 |
If the crash report proto needs to be updated, follow these instructions:
|
|
|
33 |
|
|
|
34 |
- Update `ProtoSupport/Protos/crashlytics.proto` with the new changes
|
|
|
35 |
- Depending on the type of fields added/removed, also update `ProtoSupport/Protos/crashlytics.options`.
|
|
|
36 |
`CALLBACK` type fields in crashlytics.nanopb.c needs to be changed to `POINTER`
|
|
|
37 |
(through the options file). Known field types that require an entry in crashlytics.options are
|
|
|
38 |
`strings`, `repeated` and `bytes`.
|
|
|
39 |
- Run `generate_project.sh` to update the nanopb .c/.h files.
|