Beam/docs/FORKING.md
Doug 6ded867bcc
Configure diagnostics (and MapLibre) using Pkl. (#3820)
* Bump the version for the next release.

* Ignore all generated sources.

* Use Pkl+XcodeGen to inject secrets instead of the project.

* Inject the PostHog/Sentry/Rageshake configuration from the environment.

* Fix bad unicode.

* Fix unit tests.
2025-02-24 18:36:08 +00:00

44 lines
1.4 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Forking
### Update the bundle identifier / app display name
To change the bundle identifier and the app display name for your app, open the `project.yml` file in the project root folder and change these settings:
```
BASE_BUNDLE_IDENTIFIER: io.element.elementx
APP_DISPLAY_NAME: Element X
```
After the changes run `xcodegen` to propagate them.
### Setup the location sharing
The location sharing feature on Element X is currently integrated with [MapLibre](https://maplibre.org).
The MapLibre SDK requires an API key to work, so you need to get one for yourself.
After you get an API key, you need to configure the project by exporting it and regenerating the `Secrets.swift` file:
```
export MAPLIBRE_API_KEY=your_map_libre_key
bundle exec fastlane config_secrets
```
Its not recommended to push your API key in your repository since other people may get it.
One way to avoid pushing the API key by mistake is running on your machine the command:
```
git update-index assume-unchanged Secrets/Secrets.swift
```
this will prevent pushing any update of the file `Secrets.swift`.
Finally you need to setup your map styles overriding the values you find in the code:
```swift
enum MapTilerStyle: String {
case light = “your_style_id_light”
case dark = “your_style_id_dark”
}
```
You arent required to use custom styles here. You can use already available styles like `basic-v2` and `basic-v2-dark`