【问题标题】:<GoogleMaps/GoogleMaps.h> file not found Google Maps SDK for iOS<GoogleMaps/GoogleMaps.h> 文件未找到 Google Maps SDK for iOS
【发布时间】:2013-02-22 09:38:42
【问题描述】:

昨天我收到一封来自谷歌的电子邮件,说我可以访问 ios 的地图 api,我从应用程序控制台生成了我的密钥,我按照https://developers.google.com/maps/documentation/ios/start 的步骤操作,但是 xcode 抛出了这个错误。

#import <GoogleMaps/GoogleMaps.h> //file not found

感谢您的支持。

出现Headers可执行文件而不是文件夹是正常的吗?

解决了!

【问题讨论】:

    标签: ios google-maps ios5 google-maps-sdk-ios


    【解决方案1】:

    终于找到了解决问题的方法:

    1 提取版本中的子文件夹A,我将其重命名为 GoogleMaps.framework

    2将此文件夹复制到您的项目文件夹中。

    3 将其添加到项目中的 Frameworks 组中

    4 作为#import "GoogleMaps/GoogleMaps.h" 导入到AppDelegate

    我会为有同样问题的人编辑图片。

    感谢所有帮助过我的人。

    【讨论】:

    • 您是否使用无法理解符号链接的内容解压缩了 SDK?或者也许在 PC 上解压缩,然后将文件夹复制到您的 Mac? GoogleMaps.framework/Headers 是指向 GoogleMaps.framework/Versions/A/Headers 的符号链接。当我在我的 Mac 上解压缩时,符号链接设置正确。但是当我在我的电脑上解压缩而不是符号链接时,我得到的文本文件只包含路径(例如“版本/当前/标题”)。这可能会导致您看到的那种错误。
    • 我是从电脑下载的,但我在我的 Mac 中解压了
    • 好的,现在我检查了一下,这是我的错误,谢谢,修改一个答案,将其设置为正确答案。
    • 嗨费尔南多,不用担心 :) 我将其作为单独的答案发布。
    • 这只是一个临时解决方案。当我重新打开项目时,问题仍然存在,我必须再次执行所有操作才能使其正常工作。 @ƒernando Valle
    【解决方案2】:

    确保使用能够理解符号链接的内容解压缩 SDK。

    GoogleMaps.framework/Headers 是指向GoogleMaps.framework/Versions/A/Headers 的符号链接。

    当我在我的 Mac 上解压缩它时,符号链接设置正确。但是当我在我的电脑上解压缩它而不是符号链接时,我得到的文本文件只包含路径(例如Versions/Current/Headers)。

    如果您在 PC 上解压缩,然后将文件夹复制到您的 Mac(或使用其他不创建符号链接的方法解压缩),则会收到您看到的错误。

    【讨论】:

    • 在我的情况下,缺少的符号链接来自科尔多瓦框架。所以我通过在 Mac 上用 cordova 删除/添加相关插件来解决:cordova plugin remove ...cordova plugin add ...
    【解决方案3】:

    试试这个:

    GoogleMaps.framework 包拖到项目的 Frameworks 组。出现提示时,选择将项目复制到目标组的文件夹中。

    您必须将解压后的文件夹“GoogleMaps.framework”复制到XCode中。

    然后按照步骤 3 和 4

    3. 在您的项目中右键单击 GoogleMaps.framework,然后选择 Show In Finder。

    4. 将 GoogleMaps.bundle 从 Resources 文件夹拖到您的项目中。我们建议将它放在框架组中。出现提示时,请确保未选择将项目复制到目标组的文件夹中。

    如果仍然无法正常工作,请尝试在 Build Phases 选项卡中手动添加 GoogleMaps.framework->Link BinaryLibraries

    【讨论】:

    • 它不起作用,我按照你说的每一步都出现了同样的问题。我也试图链接图书馆,但发生了。 GoogleMaps.framework 中应该出现什么?当我在框架中导入时,它只显示“标题”(文件而不是文件夹)可能是问题所在。
    • 您应该拥有 GoogleMaps.framework(包含标题)和 GoogleMaps.bundle。
    【解决方案4】:

    这是您需要的前几个步骤:

    • 从他们的网站下载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" 导入。尖括号通常也可以,但在这种情况下应该使用引号。

    你应该得到一个金色的工具箱图标:

    使用带有尖括号的#import 应该搜索系统框架,然后在您的项目文件夹中,但为了安全起见,请尝试使用引号。

    【讨论】:

    • 它不起作用,我按照你说的每一步都出现了同样的问题。 GoogleMaps.framework 中应该出现什么?当我在框架中导入时,它只显示“标题”(文件而不是文件夹)可能是问题所在。
    • 如果将“Headers”文件夹复制到Xcode,会得到一个名为“Headers”的组,看起来像一个文件夹。如果您复制“GoogleMaps.framework”文件夹,您应该得到一个(金色工具箱)框架图标。您确定要复制正确的文件夹吗?我的建议是从头开始(下载 zip 文件)并使用新项目查看哪个步骤不起作用。
    • 是的,当我复制 GoogleMaps.framework 文件夹时,它在 xcode 中看起来像一个“工具箱”。我尝试了几次从新项目开始,下载 zip 并遵循每一步。我认为不好的是,当我复制它时,它只会出现 Headers 可执行文件,而不是像其他框架中那样包含所有头文件的文件夹。我将编辑帖子添加图像以向您展示它的外观。
    • 这很奇怪。可能是您计算机上的链接文件有问题。您可以尝试从“GoogleMapsSDKDemos”文件夹中的示例项目开始。如果可行,请将您的项目转移给它。检查标题是否在该项目中正确显示。
    【解决方案5】:

    GoogleMaps 框架可能不在 Library 文件夹中,而是在与所有其他项目文件相同的目录中。我这种情况你必须写#import "GoogleMaps/GoogleMaps.h#import "GoogleMaps.h"

    【讨论】:

    • 它没有解决我的问题,我会在其他时候回去尝试解决这个问题。还是谢谢。
    • 我将框架添加到我的文件夹中,当我写 #import &lt;GoogleMaps... 时,自动完成显示我 &lt;GoogleMaps.framework/GoogleMaps 但仅此而已,我无法添加 GoogleMaps.h
    【解决方案6】:

    我已经为这个问题苦苦挣扎了好几个小时;我正在使用 CocoaPods、Swift 和 Xcode 6.1.1。我仔细遵循了在我的项目中包含 GoogleMaps 的所有步骤,尝试了许多不同的方法,例如删除下载包中的符号链接或在构建阶段手动链接二进制文件或在我的桥文件中尝试 #include "GoogleMaps.h"#include "GoogleMaps/GoogleMaps.h""#include &lt;GoogleMaps/GoogleMaps.h&gt; ,这些都不起作用......最后使用 CocoaPods 而不是自己包含框架并且它起作用了!希望它可以帮助那里的人:

    在 Podfile 中:

    pod 'Google-Maps-iOS-SDK', '~&gt; 1.9.2'

    在您的 Bridge 文件中:

    #import "GoogleMaps.h"

    【讨论】:

      【解决方案7】:

      确保升级到最新的 sdk。 v1 和 v3 不同。 无法让 v1 正常工作

      【讨论】:

        【解决方案8】:

        可能你更改 Podfile 后忘记了,你必须运行

        吊舱更新

        然后重新运行 react-native run-ios

        【讨论】:

          【解决方案9】:

          最好为谷歌地图安装 Pod,只需将谷歌地图添加到 pod 中。 请注意,如果您的项目文件夹 ios/ 中没有 pod 文件,请执行以下步骤 吊舱初始化

          在您的 pod 文件中添加以下代码

          platform :ios, '9.0'
          
          target 'YourAppTarget' do
            pod 'GoogleMaps'  # <~~ remove this line if you do not want to support GoogleMaps on iOS
          end
          # pre_install do |installer|
             # copied from https://github.com/CocoaPods/CocoaPods/issues/2926
             # workaround for https://github.com/CocoaPods/CocoaPods/issues/3289
            #  def installer.verify_no_static_framework_transitive_dependencies; end
          # end
          
          target 'YourAppTarget-tvOS' do
          
          end
          

          不要忘记将 AirGoogleMaps 添加到您的项目目录 node_modules/react-native-maps/lib/ios

          【讨论】:

            【解决方案10】:

            这个答案也可能对您有所帮助。经过很长时间我发现这样的情况后,以上所有答案终于对我不起作用了

            # import "GoogleMapsM4B/GoogleMaps.h"
            

            这样使用绝对可以解决你的问题

            【讨论】:

            • GoogleMapsM4B 适用于高级用户(在 IOS 版 Google Maps SDK 的安装指南中有明确说明)
            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 2021-05-20
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多