未找到 React Native ios 'GoogleMaps/GoogleMaps.h' 文件
React Native ios 'GoogleMaps/GoogleMaps.h' file not found
我的应用程序出现问题。
当我尝试在 Android Studio 上构建它时一切正常,但是当我尝试在 Xcode[ 上构建它时=42=] 我遇到错误,构建失败。
原因好像来自AirMaps:
词法或预处理器问题
'GoogleMaps/GoogleMaps.h'
找不到文件
AIRGoogleMapUrlTile.h
这很奇怪,因为它一直运行良好,但我找不到原因。
我正在使用:
- "react": "16.0.0-alpha.6",
- "react-native": "0.43.3",
- "react-native-maps": "^0.21.0"
这是我的 Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'Situaction' do
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
pod 'Fabric'
pod 'Crashlytics'
pod 'GoogleMaps'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end
你能帮帮我吗,
提前致谢
编辑:
这是 header 搜索路径。
Header Search Paths
下面的 link 帮助我解决了同样的问题。
https://gist.github.com/heron2014/e60fa003e9b117ce80d56bb1d5bfe9e0
target 'YourApp' do
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
pod 'React', path: rn_path, subspecs: [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'BatchedBridge'
]
pod 'react-native-maps', path: rn_maps_path
pod 'GoogleMaps' # Remove this line if you don't want to support Google Maps on iOS
pod 'react-native-google-maps', path: rn_maps_path # Remove this line if you don't want to support Google Maps on iOS
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end
好的,所以我刚刚找到了一个有效的解决方案:
add pod Google-Maps-iOS-Utils in the podfile
remove AirMaps.xcodeproj from Libraries
remove libAirMap.a from Link Binary with Libraries
但现在我遇到了一个新问题:地图出现了,但现在我无法使用 fitToCoordinates,因为出现错误:
Unknown argument type 'AIRMapCoordinatesArray' in method - [AIRGoogleMapManager fitToCoordinates:coordinates:edgePadding:animated: ). Extend RCTConvert to support this type.
当我查看调试器时,它告诉我:
Warning: Native component for "AIRMap" does not exist
(更多信息在我报告的 react-native-maps issue 中)
编辑:
我在项目中添加了 AirMaps 文件夹,一切正常
就我而言,我将 AirMaps 的框架搜索路径更新为 $(PROJECT_DIR) (recursive)
并且 $(inherited) (recursive)
适合我。
我不确定它是否适合您。请给我反馈。
如果您使用的是 React Native 0.60 及更高版本,请将以下内容添加到 Podfile
函数上方的 use_native_modules!
和 运行 pod install
中的 ios文件夹:
# React Native Maps dependencies
rn_maps_path = '../node_modules/react-native-maps'
pod 'react-native-google-maps', :path => rn_maps_path
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
我都试过了,但我从这个视频中得到了解决方案
解释很简单的方法
我觉得你应该试一次
如果您使用的是 React Native 0.65 及更高版本,请将以下内容添加到您的 Podfile 并 运行 pod install :
React Native Maps 依赖项
rn_maps_path = '../node_modules/react-native-maps' pod 'react-native-google-maps', :path => rn_maps_path
*注意:还要检查 AppDelegate.m
#import <GoogleMaps/GoogleMaps.h> [GMSServices provideAPIKey:@“YOUR_API_KEY”];
如果您在 iOS 设备上看到白屏:
- 请检查您的 API 密钥
- 从您的 GCP 控制台为 iOS 启用 Maps SDK。
我的应用程序出现问题。
当我尝试在 Android Studio 上构建它时一切正常,但是当我尝试在 Xcode[ 上构建它时=42=] 我遇到错误,构建失败。
原因好像来自AirMaps:
词法或预处理器问题
'GoogleMaps/GoogleMaps.h'
找不到文件
AIRGoogleMapUrlTile.h
这很奇怪,因为它一直运行良好,但我找不到原因。
我正在使用:
- "react": "16.0.0-alpha.6",
- "react-native": "0.43.3",
- "react-native-maps": "^0.21.0"
这是我的 Podfile:
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
target 'Situaction' do
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
pod 'Fabric'
pod 'Crashlytics'
pod 'GoogleMaps'
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end
你能帮帮我吗,
提前致谢
编辑:
这是 header 搜索路径。
Header Search Paths
下面的 link 帮助我解决了同样的问题。 https://gist.github.com/heron2014/e60fa003e9b117ce80d56bb1d5bfe9e0
target 'YourApp' do
rn_path = '../node_modules/react-native'
rn_maps_path = '../node_modules/react-native-maps'
pod 'yoga', path: "#{rn_path}/ReactCommon/yoga/yoga.podspec"
pod 'React', path: rn_path, subspecs: [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket',
'BatchedBridge'
]
pod 'react-native-maps', path: rn_maps_path
pod 'GoogleMaps' # Remove this line if you don't want to support Google Maps on iOS
pod 'react-native-google-maps', path: rn_maps_path # Remove this line if you don't want to support Google Maps on iOS
end
post_install do |installer|
installer.pods_project.targets.each do |target|
if target.name == 'react-native-google-maps'
target.build_configurations.each do |config|
config.build_settings['CLANG_ENABLE_MODULES'] = 'No'
end
end
if target.name == "React"
target.remove_from_project
end
end
end
好的,所以我刚刚找到了一个有效的解决方案:
add pod Google-Maps-iOS-Utils in the podfile
remove AirMaps.xcodeproj from Libraries
remove libAirMap.a from Link Binary with Libraries
但现在我遇到了一个新问题:地图出现了,但现在我无法使用 fitToCoordinates,因为出现错误:
Unknown argument type 'AIRMapCoordinatesArray' in method - [AIRGoogleMapManager fitToCoordinates:coordinates:edgePadding:animated: ). Extend RCTConvert to support this type.
当我查看调试器时,它告诉我:
Warning: Native component for "AIRMap" does not exist
(更多信息在我报告的 react-native-maps issue 中)
编辑:
我在项目中添加了 AirMaps 文件夹,一切正常
就我而言,我将 AirMaps 的框架搜索路径更新为 $(PROJECT_DIR) (recursive)
并且 $(inherited) (recursive)
适合我。
我不确定它是否适合您。请给我反馈。
如果您使用的是 React Native 0.60 及更高版本,请将以下内容添加到 Podfile
函数上方的 use_native_modules!
和 运行 pod install
中的 ios文件夹:
# React Native Maps dependencies
rn_maps_path = '../node_modules/react-native-maps'
pod 'react-native-google-maps', :path => rn_maps_path
pod 'GoogleMaps'
pod 'Google-Maps-iOS-Utils'
我都试过了,但我从这个视频中得到了解决方案 解释很简单的方法
我觉得你应该试一次
如果您使用的是 React Native 0.65 及更高版本,请将以下内容添加到您的 Podfile 并 运行 pod install :
React Native Maps 依赖项
rn_maps_path = '../node_modules/react-native-maps' pod 'react-native-google-maps', :path => rn_maps_path
*注意:还要检查 AppDelegate.m
#import <GoogleMaps/GoogleMaps.h> [GMSServices provideAPIKey:@“YOUR_API_KEY”];
如果您在 iOS 设备上看到白屏:
- 请检查您的 API 密钥
- 从您的 GCP 控制台为 iOS 启用 Maps SDK。