设置 Xcode 项目

启用结算功能并创建 API 密钥后,您便可以设置用于开发应用的 Xcode 项目。

每个版本都有版本说明

第 1 步:安装所需的软件

若要使用 Navigation SDK for iOS 构建项目,您必须下载并安装:

  • Xcode 版本 16.0 或更高版本

第 2 步:创建 Xcode 项目并安装 Navigation SDK

Swift Package Manager

您可以通过 Swift Package Manager 安装 Navigation SDK。如需添加该 SDK,请确保您已移除所有现有的 Navigation SDK 依赖项。

如需将 SDK 添加到新项目或现有项目,请按以下步骤操作:

  1. 打开 Xcode projectworkspace,然后依次前往 File(文件)> Add Package Dependencies(添加软件包依赖项)
  2. 输入 https://github.com/googlemaps/ios-navigation-sdk 作为网址,按 Enter 键拉取软件包,然后点击“Add Package”(添加软件包)。
  3. 如需安装特定的 version,请将依赖项规则字段设置为基于版本的选项之一。对于新项目,我们建议指定最新版本并使用“确切版本”选项。完成后,点击“添加套餐”。

如需更新现有项目的 package,请按以下步骤操作:

  1. 如需验证安装,请前往项目导航器软件包依赖项部分,验证软件包及其版本。

如需移除手动安装的现有 Navigation SDK for iOS,请按以下步骤操作:
  1. 在 Xcode 项目配置设置中,找到 Frameworks, Libraries, and Embedded Content(框架、库和嵌入内容)。使用减号(-) 移除以下框架:
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  2. 从 Xcode 项目的顶级目录中,移除 GoogleMaps bundle。

手动安装

本指南介绍了如何向您的项目手动添加包含 Navigation SDK for iOS 和 Maps SDK for iOS 的 XCFramework,以及如何在 Xcode 中配置您的 build 设置。XCFramework 是一种二进制软件包,可在多个平台(包括使用 M1 芯片组的机器)上使用

请按照以下步骤安装 Navigation SDK for iOS 和 Maps SDK for iOS 的 XCFramework:

  1. 下载以下 SDK 二进制文件和资源文件:
  2. 启动 Xcode,并打开现有的项目或创建新项目。如果您刚开始接触 iOS,请创建一个新项目,然后选择 iOS App template(iOS 应用模板)。
  3. 从项目中移除所有现有的 Maps、Navigation 和 Places 参考。
  4. 将以下 XCFramework 拖动到项目中的 Frameworks, Libraries, and Embedded Content 下,以安装 Maps SDK 和 Navigation SDK(系统显示提示时,选择 Copy items if needed):
    • GoogleMaps.xcframework
    • GoogleNavigation.xcframework
  5. 将您下载的 GoogleMapsResources 中的 GoogleMaps.bundle 拖动到 Xcode 项目的顶层目录中。当系统提示时,确保选中Copy items if needed
  6. 将您下载的 GoogleNavigationResources 中的 GoogleNavigation.bundle 拖动到 Xcode 项目的顶层目录中。系统显示提示时,确保选中将项目复制到目标组的文件夹
  7. 从项目导航器中选择项目,然后选择应用的目标。
  8. 打开“Build Phases”(构建阶段)标签页,并在“Link Binary with Libraries”(将二进制文件链接到库)中添加以下框架和库:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.framework
    • CarPlay.framework
    • Contacts.framework
    • CoreData.framework
    • CoreGraphics.framework
    • CoreImage.framework
    • CoreLocation.framework
    • CoreTelephony.framework
    • CoreText.framework
    • GLKit.framework
    • ImageIO.framework
    • libc++.tbd
    • libxml2.tbd
    • libz.tbd
    • MapKit.framework
    • Metal.framework
    • OpenGLES.framework
    • QuartzCore.framework
    • Security.framework
    • SystemConfiguration.framework
    • UIKit.framework
    • UserNotifications.framework
    • WebKit.framework
  9. 在应用的目标中,选择 Capabilities 标签页,开启后台模式,然后启用以下模式:
    • 音频、AirPlay 和画中画
    • 位置信���更新
  10. 选择项目而不是具体的目标,并打开“Build Settings”(构建设置)标签页。在“Other Linker Flags”(其他链接器标志)部分中,为 debugrelease 都添加 ‑ObjC如果看不到这些设置,请将“Build Settings”(构建设置)栏中的过滤条件从“Basic”(基本)更改为“All”(全部)。
  11. 打开 Info.plist 并添加以下键值对:
    • NSLocationWhenInUseUsageDescription隐私权 - 使用期间的位置信息使用情况说明
      :“此应用需要获得使用您位置信息的权限,才能提供逐向导航服务。”
    • NSLocationAlwaysAndWhenInUseUsageDescription隐私权 - 位置信息“始终”和“使用时”使用情况说明
      :“此应用需要获得使用您位置信息的权限,才能提供精细的导航服务。”

CocoaPods

Navigation SDK for iOS 以 CocoaPods pod 的形式提供。CocoaPods 是一种用于 Swift 和 Objective-C Cocoa 项目的开源依赖项管理器。

如果您尚未安装 CocoaPods 工具,请在 macOS 上从终端运行以下命令进行安装。如需了解详情,请参阅 CocoaPods 入门指南

sudo gem install cocoapods

为 Navigation SDK for iOS 创建一个 Podfile,并使用它来安装 API 及其依赖项:

  1. 如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机上。如果您刚开始接触 iOS 开发:
    1. 创建新项目。
    2. 选择 iOS > 应用模板。
    3. 在项目选项界面上:
      1. 输入项目名称
      2. 记录 Bundle identifier 字段的值。 您可以使用该值在下方限制 API 密钥。
      3. 将项目界面设置为故事板
      4. 语言设置为 SwiftObjective-C
  2. 在您的项目目录中创建一个名为 Podfile 的文件。此文件可定义您项目的依赖项。
  3. 修改 Podfile 并添加您的依赖项及其版本。 下面的示例包含 Navigation SDK for iOS 所需的依赖项: # Cocoapods 安装参考 #
    source 'https://github.com/CocoaPods/Specs.git'
    
    platform :ios, '16.0'
    
    target 'YOUR_APPLICATION_TARGET_NAME_HERE' do
      pod 'GoogleNavigation', '10.6.0'
    end
            
    请务必定期运行 pod outdated 以检测是否有新版本。如有必要,请升级到最新版本
  4. 保存 Podfile
  5. 打开终端,然后前往包含 Podfile 的目录:

    cd <path-to-project>
  6. 运行 pod install 命令。此操作会安装 Podfile 中指定的 API 及其所有依赖项。

    pod install
  7. 关闭 Xcode,然后打开(双击)您项目的 .xcworkspace 文件以启动 Xcode。从此刻开始,您必须使用 .xcworkspace 文件打开项目。

如需更新现有项目的 API,请按以下步骤操作:

  1. 打开终端,然后前往包含 Podfile 的项目目录。
  2. 运行 pod update 命令。此命令会将 Podfile 中指定的所有 API 更新为最新版本。

第 3 步:将您的 API 密钥添加到项目中

以下示例展示了如何在 Xcode 中将 API 密钥添加到项目中:

Swift

按照以下方法向 AppDelegate.swift 添加 API 密钥:

  1. 添加以下 import 语句:
    import GoogleMaps
    import GoogleNavigation
  2. 将以下代码添加到 application(_:didFinishLaunchingWithOptions:) 方法中:
    GMSServices.provideAPIKey("YOUR_API_KEY")

Objective-C

按照以下方法向 AppDelegate.m 添加 API 密钥:

  1. 添加以下 import 语句:
    @import GoogleMaps;
    @import GoogleNavigation;
  2. 将以下代码添加到 application:didFinishLaunchingWithOptions: 方法中:
    [GMSServices provideAPIKey:@"YOUR_API_KEY"];

第 4 步(可选):检查 Apple 隐私清单文件

Apple 要求 App Store 上的应用提供应用隐私详细信息。如需了解最新动态和更多信息,请访问 Apple App Store 隐私详细信息页面

Apple 隐私清单文件包含在 SDK 的资源 bundle 中。如需验证是否已包含隐私清单文件并检查其内容,请创建应用归档,然后从该归档生成隐私权报告

如果您是移动服务客户

如果您是 Mobility Services 客户,请参阅 Mobility 文档,了解相关结算信息。如需详细了解如何记录交易,请参阅设置结算信息。 如需了解如何向 Navigation SDK 实现添加交易 ID,请参阅将服务使用情况�� Mobility 交易相关联

后续步骤

现在,您已经有了 API 密钥和 Xcode 项目,接下来便可以创建和运行应用了。Navigation SDK for iOS 提供了可帮助您入门的教程。如需了解详情,请参阅以下文档: