A Xamarin.iOS binding library for Mapbox library.
This project is maintained by tuyen-vuduc.
At the momment, I don't have free time to contribute to the project, but if there is a paid request, I am happy to talk to.
Install-Package MapboxMapObjC.iOS
- 1/ How to use: Please follow the official guide here.
- 2/ Create
Mapbox.iOSQs.props
file fromMapbox.iOSQs.props.template
// It will look like this
- Mapbox.iOSQS
|- Mapbox.iOSQs.csproj
|- Mapbox.iOSQs.props
- 3/ Replace
YOUR_MAPBOX_DOWNLOADS_TOKEN
with your real token from Mapbox
<MAPBOX_DOWNLOADS_TOKEN>YOUR_MAPBOX_DOWNLOADS_TOKEN</MAPBOX_DOWNLOADS_TOKEN>
- 4/ Replace your Mapbox access token in
ViewController.cs
var myResourceOptions = new MBMResourceOptions(
"YOUR_MAPBOX_TOKEN", // TODO Put your token here
null, null, null, null);
or you can update Info.plist
file
<key>MBXAccessToken</key>
<string>YOUR_MAPBOX_TOKEN</string>
It takes time to do the binding library and/or upgrade it. Microsoft intends to make it a lot simpler in the future, but not now.
Here are steps if you want to make changes and/or upgrade to the libraries
- 1/ Download latest artifacts from Mapbox as per its installation guide
- 2/ Run
chmod +x ./gen.sh
- 3/ Run
./gen.sh
- 4/ Compile and correct any errors shown up
- 5/ Update
AssemblyInfo.cs
files with the right version number - 6/ Update
*.nuspec
files to have the right version number - 7/ Run
sh build.sh
to create nuget packages - 8/ Commit and create a PR
- Check symbols in the lib
nm -m 'artifacts/MapboxMaps.xcframework/ios-arm64/MapboxMaps.framework/MapboxMaps' | grep '_TtC10MapboxMaps22AnyTouchGestureHandler'
Mapbox SDK for iOS now is written in Swift and not very compatible with Objective-C, hence it won't be that friendly when doing the binding. I have to create an additional framework to make the bridge between Swift & C# in Objective-C, it's really a time consuming task. It'll require support from the developers like you in the community.
Check out the document site for further details.
This project is maintained by tuyen-vuduc in his spare time and/or when requested.
If you find this project is helpful, please give it a star, become a sponsor of the project and/or buy him a coffee.
Mapbox binding library for iOS itself is released under the 3-Clause BSD license. See LICENSE for details.
This license doesn't override and/or replace the licence from Mapbox.