Skip to content

Commit

Permalink
Update README
Browse files Browse the repository at this point in the history
  • Loading branch information
bamx23 committed Aug 25, 2024
1 parent aa70b06 commit a7cc441
Showing 1 changed file with 23 additions and 2 deletions.
25 changes: 23 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -177,9 +177,9 @@ installation.sendAllReports { reports, completed, error in
}
```

### Optional Modules
### Optional Monitors

KSCrash includes two optional modules: `BootTimeMonitor` and `DiscSpaceMonitor`. These modules are not included by default and must be explicitly added if needed. They contain privacy-concerning APIs that require showing crash reports to the user before sending this information off the device.
KSCrash includes two optional monitor modules: `BootTimeMonitor` and `DiscSpaceMonitor`. These modules are not included by default and must be explicitly added if needed. They contain privacy-concerning APIs that require showing crash reports to the user before sending this information off the device.

To include these modules:

Expand All @@ -199,6 +199,26 @@ If these modules are linked, they act automatically and require no additional se

For more information, see Apple's documentation on [Disk space APIs](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278397) and [System boot time APIs](https://developer.apple.com/documentation/bundleresources/privacy_manifest_files/describing_use_of_required_reason_api#4278394).
### Optional Demangling
KSCrash has an optional module that brings demangling for both C++ and Swift symbols: `DemangleFilter`. This module contains a KSCrash filter (`CrashReportFilterDemangle`) that can be used for demangling symbols in crash reports during the `sendAllReports` call *(if this filter is added to the filters pipeline)*.
This module is used automatically if you use `Installations` API. If you want to avoid demangling you can set `isDemangleEnabled` in `CrashInstallation` instance to `false`.
If you don't use `Installations` API you can include this module manually:

- With CocoaPods:
```ruby
pod 'KSCrash/DemangleFilter'
```

- With SPM, add to your target dependencies:
```swift
.product(name: "DemangleFilter", package: "KSCrash"),
```

The `CrashReportFilterDemangle` class also has static API that you can use youself in case you need to demangle a C++ or a Swift symbol.

## What's New?

### Out-of-Memory Crash Detection
Expand Down Expand Up @@ -292,6 +312,7 @@ KSCrash is structured into several modules, divided into public and private APIs

- **DiscSpaceMonitor**: `KSCrashDiscSpaceMonitor` - Monitors available disk space.
- **BootTimeMonitor**: `KSCrashBootTimeMonitor` - Tracks device boot time.
- **DemangleFilter**: `KSCrashDemangleFilter` - Demangle symbols in crashes as part of reporing pipeline.

### Private API Modules

Expand Down

0 comments on commit a7cc441

Please sign in to comment.