Use of undeclared identifier 'AIRGoogleMapOverlay'

when I try to build in xcode I get the following error:
“Use of undeclared identifier ‘AIRGoogleMapOverlay’”

I have followed the steps in the following threads:
https://github.com/react-native-community/react-native-maps/issues/2573

that amounts to basically, using “HAVE_GOOGLE_MAPS=1” in “preprocessor macros”, having “-DHAVE_GOOGLE_MAPS=1” in “compile sources” and adding 4 pods to the podfile…

any additional suggestions would be appreciated!

Hi @trevorseitz!

What version of Expokit are you using? Did this happen after trying to upgrade SDK versions? Not really sure what could be causing this without more info

This is with the newest Expo.

I was trying to solve the "Firebase.h’ not found error - I was hoping that the new expo would fix it but now I have this new error and I think I will still get the Firebase error when it gets to it in the build…

here is package.json:
{
“main”: “node_modules/expo/AppEntry.js”,
“scripts”: {
“start”: “expo start”,
“android”: “expo start --android”,
“ios”: “expo start --ios”,
“eject”: “expo eject”
},
“dependencies”: {
@expo/vector-icons”: “^9.0.0”,
@hapi/hoek”: “^7.1.0”,
@hapi/joi”: “^15.0.3”,
@react-native-community/async-storage”: “^1.5.0”,
“braces”: “^3.0.2”,
“core-js”: “3.1.3”,
“expo”: “^33.0.0”,
“expo-codemod”: “^1.0.0”,
“expo-constants”: “^5.0.1”,
“expo-location”: “^5.0.1”,
“expo-permissions”: “^5.0.1”,
“expo-task-manager-interface”: “~3.0.0”,
“expokit”: “^33.0.2”,
“firebase”: “6.0.2”,
“npm”: “^6.9.0”,
“react”: “16.8.6”,
“react-native”: “https://github.com/expo/react-native/archive/sdk-33.0.0.tar.gz”,
“react-native-elements”: “^1.1.0”,
“react-native-firebase”: “^5.4.3”,
“react-native-maps”: “^0.24.2”,
“react-native-paper”: “^2.16.0”,
“react-native-unimodules”: “^0.4.1”,
“react-navigation”: “^3.11.0”
},
“devDependencies”: {
“babel-preset-expo”: “^5.2.0”,
“schedule”: “^0.5.0”
},
“private”: true
}

and ‘Podfile’:
source ‘GitHub - CocoaPods/Specs: The CocoaPods Master Repo
platform :ios, ‘11.2’

target ‘ellmoe’ do
pod ‘ExpoKit’,
:git => “GitHub - expo/expo: An open-source platform for making universal native apps with React. Expo runs on Android, iOS, and the web.”,
:tag => “ios/2.11.0”,
:subspecs => [
“Core”
],
:inhibit_warnings => true

pod ‘React’,
:path => “…/node_modules/react-native”,
:inhibit_warnings => true,
:subspecs => [
“Core”,
“ART”,
“RCTActionSheet”,
“RCTAnimation”,
“RCTCameraRoll”,
“RCTGeolocation”,
“RCTImage”,
“RCTNetwork”,
“RCTText”,
“RCTVibration”,
“RCTWebSocket”,
“DevSupport”,
“CxxBridge”
]
pod ‘yoga’,
:path => “…/node_modules/react-native/ReactCommon/yoga”,
:inhibit_warnings => true
pod ‘DoubleConversion’,
:podspec => “…/node_modules/react-native/third-party-podspecs/DoubleConversion.podspec”,
:inhibit_warnings => true
pod ‘Folly’,
:podspec => “…/node_modules/react-native/third-party-podspecs/Folly.podspec”,
:inhibit_warnings => true
pod ‘glog’,
:podspec => “…/node_modules/react-native/third-party-podspecs/glog.podspec”,
:inhibit_warnings => true

# react-native-maps dependencies

pod ‘react-native-maps’, path: “…/node_modules/react-native-maps”
pod ‘react-native-google-maps’, path: “…/node_modules/react-native-maps” # Uncomment this line if you want to support GoogleMaps on iOS
pod ‘GoogleMaps’ # Uncomment this line if you want to support GoogleMaps on iOS
pod ‘Google-Maps-iOS-Utils’ # Uncomment this line if you want to support GoogleMaps on iOS

Install unimodules

require_relative ‘…/node_modules/react-native-unimodules/cocoapods.rb’
use_unimodules!

pod ‘RNCAsyncStorage’, :path => ‘…/node_modules/@react-native-community/async-storage’

post_install do |installer|
installer.pods_project.main_group.tab_width = ‘2’;
installer.pods_project.main_group.indent_width = ‘2’;

# installer.pod_targets.each do |target|
installer.target_installation_results[0].each do |installationResultArray|
targetName = installationResultArray[0];
target = installationResultArray[1]

  if targetName == 'expokit'
    target.native_target.build_configurations.each do |config|
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
      config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'EX_DETACHED=1'

      # needed for GoogleMaps 2.x
      config.build_settings['FRAMEWORK_SEARCH_PATHS'] ||= []
      config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Base/Frameworks'
      config.build_settings['FRAMEWORK_SEARCH_PATHS'] << '${PODS_ROOT}/GoogleMaps/Maps/Frameworks'
    end
  end


  if ['amplitude-ios','analytics','appauth','branch','cocoalumberjack','fbsdkcorekit','fbsdkloginkit','fbsdksharekit','gpuimage','jkbiginteger2'].include? targetName
    target.native_target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.2'
    end
  end
# Can't specify this in the React podspec because we need
# to use those podspecs for detached projects which don't reference ExponentCPP.
  if targetName.start_with?('react')
    target.native_target.build_configurations.each do |config|
      config.build_settings['IPHONEOS_DEPLOYMENT_TARGET'] = '11.2'
      config.build_settings['HEADER_SEARCH_PATHS'] ||= ['$(inherited)']
    end
  end
# Build React Native with RCT_DEV enabled and RCT_ENABLE_INSPECTOR and
# RCT_ENABLE_PACKAGER_CONNECTION disabled
  next unless targetName == 'react'
  target.native_target.build_configurations.each do |config|
    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] ||= ['$(inherited)']
    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_DEV=1'
    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'RCT_ENABLE_INSPECTOR=0'
    config.build_settings['GCC_PREPROCESSOR_DEFINITIONS'] << 'ENABLE_PACKAGER_CONNECTION=0'
  end

end

end
end

is there anything else that would be helpful?

SOLVED!

I ditched expo…

It’s working, but it’s a lot of work to change over from expo to make React mative…