To install with CocoaPods, add the following to your Podfile
:
# Flexbox Layout Manager Used By React Native
pod 'yoga', :path => '../node_modules/react-native/ReactCommon/yoga/Yoga.podspec'
# React Native
pod 'React', path: '../node_modules/react-native', subspecs: [
# Comment out any unneeded subspecs to reduce bundle size.
'Core',
'DevSupport',
'RCTActionSheet',
'RCTAnimation',
'RCTBlob',
'RCTCameraRoll',
'RCTGeolocation',
'RCTImage',
'RCTNetwork',
'RCTPushNotification',
'RCTSettings',
'RCTTest',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'RCTLinkingIOS'
]
# Mapbox
pod 'react-native-mapbox-gl', :path => '../node_modules/@react-native-mapbox/maps'
Then run pod install
and rebuild your project.
Select your project in the Project navigator
. Click General
tab then add node_modules/@react-native-mapbox/maps/ios/Mapbox.framework
to Embedded Binaries
. 💥 Important, make sure you're adding it to general -> Embedded Binaries
💥
Click 'Add other' to open the file browser and select Mapbox.framework.
Select the 'Copy items if needed' checkbox.
After adding Mapbox.framework it should be listed in your Embedded Binaries:
In Xcode's Project navigator
, right click on the Libraries
folder ➜ Add Files to <...>
. Add node_modules/@react-native-mapbox/maps/ios/RCTMGL.xcodeproj
.
Then in Xcode navigate to Build Phases
click on it and you should see Link Binary with Libraries
, we need to add libRCTMGL.a
.
After you add 'libRCTMGL.a' it should be listed as such:
In the Build Settings
of your application target search for FRAMEWORK_SEARCH_PATHS
.
Add $(PROJECT_DIR)/../node_modules/@react-native-mapbox/maps/ios
non-recursive to your Framework Search Paths
.
Important If there is a select input under Debug
line, choose Any iOS SDK
.
In the Build Phases
tab, click the plus sign and then New Run Script Phase
.
Open the newly added Run Script
and paste:
"${BUILT_PRODUCTS_DIR}/${FRAMEWORKS_FOLDER_PATH}/Mapbox.framework/strip-frameworks.sh"
Checkout the example application to see how it's configured for an example.