React Native iOS构建报错'GoogleMaps/GoogleMaps.h'文件不存在如何解决?
该报错为Xcode编译阶段无法定位GoogleMaps依赖的头文件,可按照以下步骤逐一排查解决:
检查Podfile路径配置
你当前配置的rn_maps_path = '../node_modules/react-native-maps'为Podfile存放在项目ios目录下的默认写法,确认Podfile存放路径和相对路径匹配,路径错误会导致react-native-google-maps依赖未正常安装,连带GoogleMaps主依赖拉取失败。清理Pod缓存后重新安装
执行以下命令清理旧的Pod安装产物,避免缓存导致依赖拉取不全:
cd ios rm -rf ~/Library/Caches/CocoaPods rm -rf Pods rm -rf Podfile.lock pod deintegrate pod install
安装完成后进入ios/Pods目录,确认存在GoogleMaps文件夹,且文件夹内包含GoogleMaps.h头文件。
确认Xcode打开的是正确的项目文件
pod install执行完成后会生成后缀为.xcworkspace的工作空间文件,必须打开该文件进行构建,若打开原有的.xcodeproj文件,Xcode不会加载Pods依赖,会直接触发头文件找不到的报错。补全Podfile依赖
你在AppDelegate中导入了GooglePlaces的头文件,但Podfile中未添加对应的依赖,也会触发连锁的头文件查找失败,同时旧版react-native-maps和高版本GoogleMaps存在兼容性问题,建议调整Podfile依赖如下:
rn_maps_path = '../node_modules/react-native-maps' pod 'react-native-google-maps', :path => rn_maps_path pod 'GoogleMaps', '3.10.0' pod 'Google-Maps-iOS-Utils' pod 'GooglePlaces', '3.10.0'
调整后重新执行pod install。
检查头文件搜索路径配置
打开Xcode,选中项目主target,进入Build Settings页,搜索Header Search Paths,确认配置项中已自动添加${PODS_ROOT}/GoogleMaps/Headers、${PODS_ROOT}/GooglePlaces/Headers,若缺失可手动添加,且将路径属性设置为recursive。清理Xcode构建缓存后重试
按快捷键Command + Shift + K清理Xcode本地构建缓存,再重新执行构建即可。
补充:你提供的AppDelegate.m代码中
didFinishLaunchingWithOptions方法缺少返回值,头文件问题解决后会触发新的报错,记得在方法末尾补上return YES;。
内容的提问来源于stack exchange,提问作者ste471

