forked from maplibre/maplibre-native
-
Notifications
You must be signed in to change notification settings - Fork 0
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
(Re)move oudated information from .md files (maplibre#2416)
- Loading branch information
Showing
6 changed files
with
149 additions
and
370 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file was deleted.
Oops, something went wrong.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -1,4 +1,94 @@ | ||
# Documentation | ||
# Contributing | ||
|
||
## Downloading Source | ||
|
||
Download the source and install all submodules if you have not already, by running the following from the root of the repository. | ||
|
||
``` | ||
git clone --recurse-submodules [email protected]:maplibre/maplibre-native.git | ||
cd maplibre-native | ||
``` | ||
|
||
## Bazel | ||
|
||
[Bazel](https://bazel.build/) is used for building on iOS. | ||
|
||
You can generate an Xcode project thanks to [rules_xcodeproj](https://github.com/MobileNativeFoundation/rules_xcodeproj) intergration. | ||
|
||
You need to install [bazelisk](https://github.com/bazelbuild/bazelisk), which is a wrapper around Bazel which ensures that the version specified in `.bazelversion` is used. | ||
|
||
``` | ||
brew install bazelisk | ||
``` | ||
|
||
### Creating `config.bzl` | ||
|
||
> [!NOTE] | ||
> This is optional. | ||
You may want to configure Bazel, otherwise the default config gets used. | ||
|
||
``` | ||
cp platform/darwin/bazel/example_config.bzl platform/darwin/bazel/config.bzl | ||
``` | ||
|
||
You need to set your `BUNDLE_ID_PREFIX` to be unique (ideally use a domain that you own in reverse domain name notation). | ||
|
||
You can keep leave the `APPLE_MOBILE_PROVISIONING_PROFILE_NAME` alone. | ||
|
||
Set the Team ID to the Team ID of your Apple Developer Account (paid or unpaid both work). | ||
If you do not know your Team ID, go to your [Apple Developer account](https://developer.apple.com/account), log in, and scroll down to find your Team ID. | ||
|
||
If you don't already have a developer account, continue this guide and let Xcode generate a provisioning profile for you. You will need to update the Team ID later once a certificate is generated. | ||
|
||
If you are encountering build errors due to provisioning profiles, skip down to the troubleshooting section. | ||
|
||
## Create the Xcode Project | ||
|
||
Run the following commands: | ||
|
||
``` | ||
bazel run //platform/ios:xcodeproj --@rules_xcodeproj//xcodeproj:extra_common_flags="--//:renderer=metal" | ||
xed platform/ios/MapLibre.xcodeproj | ||
``` | ||
|
||
Then once in Xcode, click on "MapLibre" on the left, then "App" under Targets, then "Signing & Capabilities" in the tabbed menu. | ||
Confirm that no errors are shown: | ||
|
||
<img width="921" alt="image" src="https://github.com/polvi/maplibre-native/assets/649392/a1ef30cb-97fc-429a-acee-194436f3fb8a"> | ||
|
||
Try to run the example App in the simulator and on a device to confirm your setup works. | ||
|
||
### Troubleshooting Provisioning Profiles | ||
|
||
If you get a Python `KeyError` when processing provisioning profiles, you probably have some _really_ old or corrupted profiles. | ||
|
||
Have a look through `~/Library/MobileDevice/Provisioning\ Profiles` and remove any expired profiles. | ||
|
||
## Using Bazel from the Command Line | ||
|
||
It is also possible to build and run the test application in a simulator from the command line without opening Xcode. | ||
|
||
``` | ||
bazel run //platform/ios:App | ||
``` | ||
|
||
If you want to build your own XCFramework, see the 'Build XCFramework' step in the [iOS CI workflow](../../.github/workflows/ios-ci.yml). | ||
|
||
## Render Tests | ||
|
||
To run the render tests, run the `RenderTest` target from iOS. | ||
|
||
When running in a simulator, use | ||
|
||
``` | ||
# check for 'DataContainer' of the app with `*.maplibre.RenderTestApp` id | ||
xcrun simctl listapps booted | ||
``` | ||
|
||
to get the data directory of the render test app. This allows you to inspect test results. When adding new tests, the generated expectations and `actual.png` file can be copied into the source directory from here. | ||
|
||
## Documentation | ||
|
||
We use [DocC](https://www.swift.org/documentation/docc) for documentation. To build the documentation locally, run the following command from the root directory of the repository: | ||
|
||
|
@@ -8,7 +98,7 @@ platform/ios/scripts/docc.sh preview | |
|
||
You need to have [aws-cli](https://github.com/aws/aws-cli) installed to download the resources from S3 (see below). | ||
|
||
## Resources | ||
### Resources | ||
|
||
Resources like images should not be checked in but should be uploaded to the [S3 Bucket](https://s3.eu-central-1.amazonaws.com/maplibre-native/index.html#ios-documentation-resources/). You can share a `.zip` with all files that should be added in the PR. | ||
|
||
|
@@ -28,7 +118,7 @@ resources=( | |
) | ||
``` | ||
|
||
## Examples | ||
### Examples | ||
|
||
The code samples in the documentation should ideally be compiled on CI so they do not go out of date. | ||
|
||
|
Oops, something went wrong.