Skip to content
This repository has been archived by the owner on Aug 15, 2021. It is now read-only.

Latest commit

 

History

History
116 lines (74 loc) · 3.76 KB

ios-install.md

File metadata and controls

116 lines (74 loc) · 3.76 KB

iOS Installation

Info.plist

By default Mapbox collects telemetry. We have disabled this behavior in CedarMaps since no Mapbox designed styles are used in CedarMaps. This change implies that you add MGLMapboxMetricsEnabledSettingShownInApp=YES to your app's Info.plist in order to prevent a crash at launch.

Using CocoaPods

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',
    'RCTText',
    'RCTVibration',
    'RCTWebSocket',
    'RCTLinkingIOS'
  ]

  # Mapbox
  pod 'react-native-mapbox-gl', :path => '../node_modules/@react-native-mapbox-gl/maps'

  # Third party
  pod 'Folly', :podspec => '../node_modules/react-native/third-party-podspecs/Folly.podspec'

  post_install do |installer|
    installer.pods_project.targets.each do |target|
      if target.name == "React"
        target.remove_from_project
      end
    end
  end

Then run pod install and rebuild your project.

Manual Installation

Add Native Mapbox SDK Framework

Select your project in the Project navigator. Click General tab then add node_modules/@react-native-mapbox-gl/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:

Add React Native Mapbox SDK Files

In Xcode's Project navigator, right click on the Libraries folder ➜ Add Files to <...>. Add node_modules/@react-native-mapbox-gl/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:

Add Framework Header Search Paths

In the Build Settings of your application target search for FRAMEWORK_SEARCH_PATHS.

Add $(PROJECT_DIR)/../node_modules/@react-native-mapbox-gl/maps/ios non-recursive to your Framework Search Paths.

Important If there is a select input under Debug line, choose Any iOS SDK.

Add Run Script

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"

If you have any issues related to not being able to find strip-frameworks.sh during your build process, click and drag the strip-frameworks.sh file into the xcode editor: