使用CocoaPods获取适用于iOS的Google Maps SDK时,我无法导入sdk头文件(#import <GoogleMaps/GoogleMaps.h>
)。
我是CocoaPods的新手,但我认为我使用的其他库(RestKit,AFNetworking ......)都能正常工作。
对于这些API,我仍然需要像#import <AFNetworking/AFNetworking.h>
而不是#import "AFNetworking"
一样导入lib。但它运作正常
对于Google Maps SDK,我需要像#import <Google-Maps-iOS-SDK/GoogleMaps/GoogleMaps.h>
一样导入它,这会导致编译错误,因为在GoogleMaps.h标题中,其他文件的导入方式如下:
#import <GoogleMaps/GMSCameraPosition.h>
#import <GoogleMaps/GMSCameraUpdate.h>
#import <GoogleMaps/GMSCircle.h>
...
我错过了什么吗?
答案 0 :(得分:5)
您不必使用<
和>
导入与CocoaPods链接的任何内容。它应该只是#import "Foo.h"
。对于基于我的测试项目的Google地图,我只需使用#import "GoogleMaps.h"
并正确导入。确保使用最新版本的CocoaPods安装(pod --version
当前为0.21.0),否则您可能需要更新它([sudo] gem update
)。另外,请确保您打开创建的xcworkspace
文件而不是xcodeproject
答案 1 :(得分:0)
我遇到了同样的问题(我正在使用cocoapods),特别是找不到错误“GoogleMaps.h”文件的地方。我的解决方案(如果上述方法无效)是您的Pods的目标支持文件未能包含“GoogleMaps.h”的正确标题路径。
第1步
如果你在Finder中检查你的项目目录,点击Pods目录,然后点击公共目录,然后点击GoogleMaps目录,你会发现有一个第二个 GoogleMaps目录。在第二个GoogleMaps目录中包含与GoogleMaps pod相关的头文件。现在是时候检查Pods目标支持文件是否将此路径作为GoogleMaps的标题路径。
第2步
关闭Xcode项目。转到项目的父目录。对我来说,这是我的主目录,可以通过cd ~
访问。遍历您的Pods的目标支持文件:
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)。