# iOS Installation `@rnmapbox/maps` via `npm` or `yarn`.
Add the following to your `ios/Podfile`: ```ruby pre_install do |installer| $RNMapboxMaps.pre_install(installer) ... other pre install hooks end ``` ```ruby post_install do |installer| $RNMapboxMaps.post_install(installer) ... other post install hooks end ```
Run `pod install` to download the proper mapbox dependency. ```sh # Go to the ios folder cd ios # Run Pod Install pod install ``` If you want to show the user's current location on the map with the [LocationPuck](../docs/LocationPuck.md) component, you'll need to add the following property to your `Info.plist` (see [Mapbox iOS docs](https://docs.mapbox.com/ios/maps/guides/user-location/#request-temporary-access-to-full-accuracy-location) for more info): ``` NSLocationWhenInUseUsageDescription Show current location on map. ``` You are good to go! Read on if you want to edit your Mapbox version or flavor.
## Using a custom version of the Mapbox SDK You can override the version to use. *Warning:* if you set a version, then later update the `@rnmapbox/maps` library it's possible that you'll end up using an older Mapbox version than supported. Make sure you revise this value with `@rnmapbox/maps` updates. ```ruby $RNMapboxMapsVersion = '= 11.16.2' ``` If using expo managed workflow, set the "RNMapboxMapsVersion" variable. See the [expo guide](/plugin/install.md) ## Troubleshooting ### Pod install fails on upgrade of @rnmapbox/maps with `could not find compatible versions for pod "MapboxMaps"` Example message: ```log [!] CocoaPods could not find compatible versions for pod "MapboxMaps": In snapshot (Podfile.lock): MapboxMaps (= 10.15.0, ~> 10.15.0) In Podfile: rnmapbox-maps (from `../node_modules/@rnmapbox/maps`) was resolved to 10.0.15, which depends on MapboxMaps (~> 10.16.0) ``` Please use `pod update MapboxMaps` as suggested by cocoapods