iOS 中找不到 GoogleMaps SDK 框架。

28

我想在现有的(而非新建的)iPhone项目中使用Google地图。目前我正在使用Google地图iOS SDK,并成功将Google地图框架添加到我的项目中。但是我遇到了以下错误:

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

如何解决这个问题。我正在使用Xcode4.5和Google Map iOS SDK版本1.5。当我使用Google Map iOS SDK创建新项目时,没有错误发生。但是在现有的iOS项目中会出现错误。请帮助我。

12个回答

45

我解决了我的问题

你需要执行以下步骤:

  1. 点击您的项目(targets)
  2. 点击Build Settings
  3. Framework search paths下(设置您的框架路径)

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

  1. 右键单击您的框架文件夹(例如:GoogleMaps.framework)
  2. 选择Get info
  3. General->where中复制路径,并将此路径粘贴到框架搜索路径中(路径应为单行)

祝好运


哦,非常感谢。搜索路径不正确是我的问题。+1 - OptimusCrime
1
我无法复制你的方法,请给我指点。 - Abdul Yasin
当我开始更改我的文件夹时,这种情况也发生在我身上。 - Shlomi Schwartz
对我来说,只有将GoogleMap框架的Headers文件夹链接到“Header Search Path”中才有帮助。 - Nike Kov
即使没有使用 f..d PODS,它也可以正常工作。什么时候会有 SPM lib 的严格实现? - ingconti

12
我遇到一个场景,需要导入使用谷歌地图的项目,但是出现了相同的问题 - 模块:"Google Maps"未找到。 解决这个问题需要删除Podfile.lock和Podfile文件夹,然后重新安装pods。祝好运!

10
你也可以: - 从Podfile中删除GoogleMaps - 运行pod install - 再次将GoogleMaps添加到你的Podfile中 - 再次运行pod install
这个方法适用于我,你也可以检查搜索路径。

pod update 对我起作用了,而不需要修改 pod 文件。 - Jay Shenawy

3

清理你的项目。快捷键是command + shift + k。这将清除Xcode存储的信息,可能会暗示SDK未包含在内。

同时,在文件层次结构顶部按项目图标,选择你的项目目标,点击Build Phases,打开Link Binary With Libraries,并确保Google Maps SDK已经添加进去了。如果没有添加,点击+号进行添加。


2
跟随以下步骤:
  • 从他们的网站下载GoogleMaps-iOS-1.1.0.zip
  • 解压缩文件。现在您有一个GoogleMaps-iOS-1.1.0文件夹
  • 在该文件夹中,您有一个GoogleMaps.framework文件夹。
  • GoogleMaps.framework文件夹复制或移动到项目文件夹内(在Finder中)。
  • GoogleMaps.framework文件夹拖到Xcode中的Frameworks组中。
  • 在选项表中,取消选中“将项目复制到目标组文件夹中”。确保您的目标在“添加到目标”中被选中。点击确定。
  • (请注意,您也可以通过不将其复制到项目文件夹中并勾选“将项目复制到目标组文件夹中”来进行操作。Xcode会自动复制文件夹。)

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

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


2

我的问题通过添加以下内容得到了解决:

构建设置

框架搜索路径

点击并添加以下行:

"${PODS_ROOT}/GoogleMaps/Base/Frameworks"

"${PODS_ROOT}/GoogleMaps/Maps/Frameworks"


我有这个问题,但是浴室已经包括在内了,这对我没有解决问题。 - Punter Bad

2
如果你使用 Pods
左侧菜单 > Pods > Pods > 选择 Framework > 右侧菜单 > 从 "ios/....." 复制路径
例如:ios/Pods/GoogleMaps/Maps/Frameworks/GoogleMaps.framework

enter image description here

然后进入“项目”>“构建设置”>“框架搜索路径”>点击。

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

enter image description here


1
有时候在将代码从一个系统迁移到另一个系统时,框架搜索路径会变为空。我的一个简单解决方案是尝试重新安装podfile,这对我很有效。

0
在我的情况下,我忘记了需要使用Pods打开工作区文件,而不是项目文件。

0

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接