7

昨天我收到一封来自谷歌的电子邮件,说我可以访问 ios 的地图 api,我从应用程序控制台生成了我的密钥,我按照https://developers.google.com/maps/documentation/ios/start的步骤操作但是 xcode 抛出这个错误。

#import <GoogleMaps/GoogleMaps.h> //file not found

谢谢你的支持。

出现 Headers 可执行文件而不是文件夹是正常的吗?

在此处输入图像描述

解决了!

4

10 回答 10

19

最后我找到了解决我的问题的方法:

1提取版本中的子文件夹 A 并将其重命名为 GoogleMaps.framework

2将此文件夹复制到您的项目文件夹。

在此处输入图像描述

3将其添加到项目中的 Frameworks 组中

在此处输入图像描述

4导入到 AppDelegate 为#import "GoogleMaps/GoogleMaps.h"

我将为有同样问题的人编辑图像。

感谢所有帮助过我的人。

于 2013-02-26T16:59:20.393 回答
11

确保使用能够理解符号链接的东西解压缩 SDK。

GoogleMaps.framework/Headers是指向 的符号链接GoogleMaps.framework/Versions/A/Headers

当我在我的 Mac 上解压缩它时,符号链接设置正确。但是当我在我的电脑上解压缩它而不是符号链接时,我得到的文本文件只包含路径(例如Versions/Current/Headers)。

如果您在 PC 上解压缩,然后将文件夹复制到您的 Mac(或使用其他不创建符号链接的方法解压缩),那么您将看到您看到的错误。

于 2013-03-06T11:59:50.890 回答
8

尝试这个:

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

于 2013-02-25T16:34:59.290 回答
3

这是您需要的前几个步骤:

  • GoogleMaps-iOS-1.1.0.zip从他们的网站下载
  • 解压缩文件。你现在有一个GoogleMaps-iOS-1.1.0文件夹
  • 在该文件夹中,您有一个GoogleMaps.framework文件夹。
  • 将文件夹复制或移动GoogleMaps.framework到项目文件夹内(在 Finder 中)。
  • GoogleMaps.framework文件夹拖到FrameworksXcode 中的组中。
  • 在选项表中,取消选中“将项目复制到目标组的文件夹”。确保在“添加到目标”中选中您的目标。单击确定。
  • (请注意,您也可以通过其他方式执行此操作,不将其复制到项目文件夹并选中“将项目复制到目标组的文件夹”。Xcode 将复制文件夹本身。)

  • 使用导入#import "GoogleMaps/GoogleMaps.h"。尖括号通常也可以使用,但在这种情况下它应该使用引号。

你应该得到一个金色的工具箱图标:

在此处输入图像描述

使用#import带尖括号应该搜索系统框架,然后在您的项目文件夹中,但为了安全起见,请尝试使用引号。

于 2013-02-26T01:04:05.257 回答
1

我已经为这个问题苦苦挣扎了好几个小时;我正在使用 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"

于 2015-03-06T06:54:09.337 回答
1

GoogleMaps 框架可能不在 Library 文件夹中,而是在与所有其他项目文件相同的目录中。在这种情况下,您必须写#import "GoogleMaps/GoogleMaps.h#import "GoogleMaps.h"

于 2013-02-22T10:44:24.510 回答
0

make sure you upgrade to the latest sdk. v1 and v3 were different. had trouble getting v1 to work

于 2013-06-21T16:53:15.463 回答
0

可能你在更改 Podfile 后忘记了,你必须运行

吊舱更新

然后重新运行 react-native run-ios

于 2018-06-04T16:47:24.797 回答
0

最好为谷歌地图安装 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 添加到您的项目目录

于 2018-06-18T12:09:55.643 回答
-2

这个答案也可能对您有所帮助。经过很长一段时间我发现这样,以上所有答案终于对我不起作用

# import "GoogleMapsM4B/GoogleMaps.h"

像这样使用它绝对可以解决您的问题

于 2015-06-16T11:42:28.160 回答