27

我想将谷歌地图用于现有(不是新的)iPhone项目。现在我正在使用谷歌地图ios sdk,我成功地将谷歌地图框架添加到我的项目中。但我遇到了这样的错误

ld: framework not found GoogleMaps
clang: error: linker command failed with exit code 1 (use -v to see invocation)

如何解决这个问题。我使用的是 xcode4.5 和谷歌地图 iOS sdk 版本是 1.5。当我使用 google map iOS sdk 创建新项目时,我不会出错。错误仅适用于现有的 iOS 项目。请帮助我。

4

12 回答 12

44

我解决了我的问题

你需要这样做

  1. 单击您的项目(目标
  2. 点击构建设置
  3. 框架搜索路径下(设置你的框架路径)

获取框架搜索路径的以下信息

  1. 右键单击您的框架文件夹(例如:GoogleMaps.framework)
  2. 选择获取信息
  3. 从General->where复制路径并将此路径粘贴到您的框架搜索路径中(路径应包含在单行中)

祝你好运

于 2013-11-13T06:03:02.407 回答
10

我遇到了一个场景,我必须导入一个使用 Google Maps 的项目并注意到同样的问题 - 模块:找不到“Google Maps”。为了解决这个问题,需要删除 Podfile.lock 和 Podfile 文件夹并重新安装 Pod。祝你好运 !

于 2015-10-14T08:42:33.457 回答
7

您还可以: - 从 Podfile 中删除 GoogleMaps - pod install - 再次将 GoogleMaps 添加到您的 Podfile - pod install

这个解决方案对我有用,你也可以很好地检查搜索路径。

于 2018-08-27T12:11:40.357 回答
3

清理你的项目。快捷键是 command + shift + k。这将清除 xcode 存储的可能暗示 sdk 不包括在内的信息。

还要按文件层次结构顶部的项目图标,按您的项目的目标,按构建阶段,打开二进制库的链接,并确保 google maps sdk 在那里。如果不是,请按 + 并添加。

于 2013-10-02T05:44:01.053 回答
2

按照步骤 :

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

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

来自:<GoogleMaps/GoogleMaps.h> 文件未找到 Google Maps SDK for iOS

于 2013-10-02T05:46:43.860 回答
2

如果你使用 Pod

左侧菜单 > Pods > Pods > 选择框架 > 右侧菜单 > 从“ios/.....”复制路径

我的:ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework

在此处输入图像描述

然后项目>构建设置>框架搜索路径>点击

$(PROJECT_DIR) /ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMapsCore.framework

在此处输入图像描述

于 2018-11-15T04:24:54.707 回答
2

我的问题是通过添加解决的:

build settings

Framework Search Paths

可点击并添加以下行:

“${PODS_ROOT}/GoogleMaps/Base/Frameworks”

“${PODS_ROOT}/GoogleMaps/Maps/Frameworks”

于 2017-11-01T20:07:00.237 回答
1

有时当您将代码从一个系统迁移到另一个系统时会发生这种情况,因此您的框架搜索路径此时看起来是空的,所以我尝试的一个简单解决方案是重新安装 podfile,它对我有用。

于 2019-05-07T08:16:09.757 回答
0

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

就我而言,我忘记了我需要用 pod 打开工作区文件,而不是项目。

于 2018-10-21T22:17:26.153 回答
0

也许它对任何人都有用,接下来的步骤帮助了我: 1. 手动删除“Headers”和“GoogleMaps”文件夹(从 Finder 中)。2. 运行 'pod install' 3. 在 Xcode 中重新构建项目。

于 2018-03-06T21:00:19.787 回答
0

删除派生数据并删除 Podfile.lock 文件,然后运行 ​​pod install。

于 2017-03-27T11:44:27.960 回答