昨天我收到一封来自谷歌的电子邮件,说我可以访问 ios 的地图 api,我从应用程序控制台生成了我的密钥,我按照https://developers.google.com/maps/documentation/ios/start的步骤操作但是 xcode 抛出这个错误。
#import <GoogleMaps/GoogleMaps.h> //file not found
谢谢你的支持。
出现 Headers 可执行文件而不是文件夹是正常的吗?
解决了!
昨天我收到一封来自谷歌的电子邮件,说我可以访问 ios 的地图 api,我从应用程序控制台生成了我的密钥,我按照https://developers.google.com/maps/documentation/ios/start的步骤操作但是 xcode 抛出这个错误。
#import <GoogleMaps/GoogleMaps.h> //file not found
谢谢你的支持。
出现 Headers 可执行文件而不是文件夹是正常的吗?
解决了!
最后我找到了解决我的问题的方法:
1提取版本中的子文件夹 A 并将其重命名为
GoogleMaps.framework
2将此文件夹复制到您的项目文件夹。
3将其添加到项目中的 Frameworks 组中
4导入到 AppDelegate 为#import "GoogleMaps/GoogleMaps.h"
我将为有同样问题的人编辑图像。
感谢所有帮助过我的人。
确保使用能够理解符号链接的东西解压缩 SDK。
GoogleMaps.framework/Headers
是指向 的符号链接GoogleMaps.framework/Versions/A/Headers
。
当我在我的 Mac 上解压缩它时,符号链接设置正确。但是当我在我的电脑上解压缩它而不是符号链接时,我得到的文本文件只包含路径(例如Versions/Current/Headers
)。
如果您在 PC 上解压缩,然后将文件夹复制到您的 Mac(或使用其他不创建符号链接的方法解压缩),那么您将看到您看到的错误。
尝试这个:
将GoogleMaps.framework包拖到项目的 Frameworks 组中。出现提示时,选择将项目复制到目标组的文件夹中。
您必须将解压缩的文件夹“ GoogleMaps.framework ”复制到XCode中。
然后按照步骤 3 和 4
3. 右键单击项目中的GoogleMaps.framework,然后选择 Show In Finder。
4. 将GoogleMaps.bundle从 Resources 文件夹拖到您的项目中。我们建议将它放在框架组中。出现提示时,确保未选择将项目复制到目标组的文件夹。
如果仍然无法正常工作,请尝试在 Build Phases 选项卡-> Link Binary with Libraries中手动添加 GoogleMaps.framework
这是您需要的前几个步骤:
GoogleMaps-iOS-1.1.0.zip
从他们的网站下载GoogleMaps-iOS-1.1.0
文件夹GoogleMaps.framework
文件夹。GoogleMaps.framework
到项目文件夹内(在 Finder 中)。GoogleMaps.framework
文件夹拖到Frameworks
Xcode 中的组中。(请注意,您也可以通过其他方式执行此操作,不将其复制到项目文件夹并选中“将项目复制到目标组的文件夹”。Xcode 将复制文件夹本身。)
使用导入#import "GoogleMaps/GoogleMaps.h"
。尖括号通常也可以使用,但在这种情况下它应该使用引号。
你应该得到一个金色的工具箱图标:
使用#import
带尖括号应该搜索系统框架,然后在您的项目文件夹中,但为了安全起见,请尝试使用引号。
我已经为这个问题苦苦挣扎了好几个小时;我正在使用 CocoaPods、Swift 和 Xcode 6.1.1。我仔细按照在我的项目中包含 GoogleMaps 的所有步骤,尝试了许多不同的方法,例如在下载的包中删除符号链接或在构建阶段手动链接二进制文件或尝试#include "GoogleMaps.h"
,#include "GoogleMaps/GoogleMaps.h"
而"#include <GoogleMaps/GoogleMaps.h>
在我的桥文件中,这些都不起作用......最后使用 CocoaPods 而不是我自己包含框架并且它有效!希望它可以帮助那里的人:
在 Podfile 中:
pod 'Google-Maps-iOS-SDK', '~> 1.9.2'
在您的 Bridge 文件中:
#import "GoogleMaps.h"
GoogleMaps 框架可能不在 Library 文件夹中,而是在与所有其他项目文件相同的目录中。在这种情况下,您必须写#import "GoogleMaps/GoogleMaps.h
或#import "GoogleMaps.h"
make sure you upgrade to the latest sdk. v1 and v3 were different. had trouble getting v1 to work
可能你在更改 Podfile 后忘记了,你必须运行
吊舱更新
然后重新运行 react-native run-ios
最好为谷歌地图安装 Pod,只需将谷歌地图添加到 pod 中。请注意,如果您的项目文件夹 ios/ 中没有 pod 文件,请执行以下步骤 pod init
在您的 pod 文件中添加以下代码
platform :ios, '9.0'
target 'YourAppTarget' do
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
end
# pre_install do |installer|
# copied from https://github.com/CocoaPods/CocoaPods/issues/2926
# workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
# def installer.verify_no_static_framework_transitive_dependencies; end
# end
target 'YourAppTarget-tvOS' do
end
不要忘记将 AirGoogleMaps 从 node_modules/react-native-maps/lib/ios 添加到您的项目目录
这个答案也可能对您有所帮助。经过很长一段时间我发现这样,以上所有答案终于对我不起作用
# import "GoogleMapsM4B/GoogleMaps.h"
像这样使用它绝对可以解决您的问题