Google maps sdk ios 可可豆和谷歌地图SDK

Google maps sdk ios 可可豆和谷歌地图SDK,google-maps-sdk-ios,cocoapods,Google Maps Sdk Ios,Cocoapods,使用CocoaPods获取Google Maps SDK for iOS时,导入SDK头文件时遇到问题(#import)。 我是CocoaPods的新手,但我认为我与我使用的其他库(RestKit、AFNetworking…)的一切都很好。 对于这些API,我仍然需要像这样导入lib#import,而不仅仅是#import“AFNetworking”。但它很好用。 对于Google Maps SDK,我需要像这样导入它#import,这会导致编译错误,因为在GoogleMaps.h头中,其他文件

使用CocoaPods获取Google Maps SDK for iOS时,导入SDK头文件时遇到问题(
#import
)。
我是CocoaPods的新手,但我认为我与我使用的其他库(RestKit、AFNetworking…)的一切都很好。 对于这些API,我仍然需要像这样导入lib
#import
,而不仅仅是
#import“AFNetworking”
。但它很好用。
对于Google Maps SDK,我需要像这样导入它
#import
,这会导致编译错误,因为在GoogleMaps.h头中,其他文件是这样导入的:

#import <GoogleMaps/GMSCameraPosition.h>
#import <GoogleMaps/GMSCameraUpdate.h>
#import <GoogleMaps/GMSCircle.h>
...
#导入
#进口
#进口
...

我遗漏了什么吗?

您不必使用
导入任何与CoCoapod链接的内容。它应该是
#import“Foo.h”
。在基于我的测试项目的GoogleMaps中,我只需使用
#import“GoogleMaps.h”
,就可以正确导入。确保您正在安装最新版本的CocoaPods(
pod--version
当前为0.21.0),否则您可能需要更新它(
[sudo]gem update
)。还要确保您打开的是创建的
xcworkspace
文件,而不是
xcodeproject

我遇到了相同的问题(我正在使用cocoapods),特别是在找不到错误“GoogleMaps.h”文件的地方。我的解决方案(如果上述方法不起作用)是,您的POD的目标支持文件无法包含“GoogleMaps.h”的正确头路径

步骤1

如果您在Finder中检查项目目录,单击Pods目录,然后单击Public目录,然后单击GoogleMaps目录,您会注意到有一个第二个GoogleMaps目录。在第二个GoogleMaps目录中包含与GoogleMaps pod相关的头文件。现在是时候检查Pods目标支持文件是否将此路径作为GoogleMaps的头路径

步骤2

关闭Xcode项目。转到项目的父目录。对我来说,这是我的主目录,可以在
cd~
上找到。遍历到POD的目标支持文件:

cd ~/{your_project_name}/Pods/Target Support Files/Pods
然后在您喜爱的编辑器中打开Pods.debug.xcconfig文件:

vi Pods.debug.xcconfig
编辑行

HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/GoogleMaps"
使用新的头路径

HEADER_SEARCH_PATHS = $(inherited) "${PODS_ROOT}/Headers/Public" "${PODS_ROOT}/Headers/Public/GoogleMaps/GoogleMaps"
将Pods.debug.xcconfig的其余部分保持不变。对Pods.release.xcconfig执行相同的过程

步骤3


重新打开.xcworkspace文件。清理项目(cmd-shift-k),然后重新构建(cmd-b)

在CocoaPods主页上,有一行
#import
。我正在运行CocoaPods的0.21.0版本。如果我尝试使用简单的引号导入,则无法完成任何操作。此外,目标libPods FRAMEWORK.a都是红色的,就好像它们从未构建过一样。有什么想法吗?它不会自动完成,但无论如何它都应该链接。今天我将CocoaPods更新为0.22.1版本。一切正常。更新后我再次运行pod安装,现在我可以像你说的那样导入文件了。因此,感谢您为我指引了正确的方向。就我而言(至少)它是
Pods/Header/Public
,而不是
Pods/Public