【问题标题】:Cocoa Pods and Google Maps SDK可可豆荚和谷歌地图 SDK
【发布时间】:2013-07-03 15:40:46
【问题描述】:

在使用 CocoaPods 获取适用于 iOS 的 Google Maps SDK 时,我在导入 sdk 头文件 (#import <GoogleMaps/GoogleMaps.h>) 时遇到问题。
我是 CocoaPods 的新手,但我认为我使用的其他库(RestKit、AFNetworking ...)一切正常。 对于这些 API,我仍然需要像 #import <AFNetworking/AFNetworking.h> 这样导入库,而不仅仅是 #import "AFNetworking"。但它工作正常。
对于 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>
...

我错过了什么吗?

【问题讨论】:

    标签: google-maps-sdk-ios cocoapods


    【解决方案1】:

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

    【讨论】:

    • 在CocoaPods主页上,有#import &lt;Reachability.h&gt;这一行。我正在运行 0.21.0 版本的 CocoaPods。如果我尝试使用简单的引号导入,则不会完成任何事情。此外,目标 libPods-FRAMEWORK.a 都是红色的,就好像它们从未构建过一样。有什么想法吗?
    • 它不会自动完成,但无论如何它应该链接。
    • 今天我将 CocoaPods 更新到了 0.22.1 版本。一切正常。更新后我再次运行 pod install ,现在我可以像你说的那样导入文件。所以谢谢你指引我正确的方向。
    【解决方案2】:

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

    第 1 步

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

    第 2 步

    关闭 Xcode 项目。转到项目的父目录。对我来说,这是我的主目录,可以通过cd ~ 访问。遍历 Pod 的 Target 支持文件:

    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)。

    【讨论】:

    • 就我而言(至少)是Pods/Header/Public,而不是Pods/Public
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-03-12
    • 1970-01-01
    • 1970-01-01
    • 2018-06-07
    • 2017-08-03
    相关资源
    最近更新 更多