设置 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 软件包。

手动安装

本指南介绍了如何向您的项目手动添加包含 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. 从项目中移除所有现有的 Google 地图、导航和地点引用。
  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 项目的顶层目录中。系统显示提示时,确保选中“Copy items into destination group's folder”(将项目复制到目标组的文件夹)。
  7. 从项目导航器中选择项目,然后选择应用的目标。
  8. 打开“Build Phases”(构建阶段)标签页,并在“Link Binary with Libraries”(将二进制文件链接到库)中添加以下框架和库:
    • Accelerate.framework
    • AudioToolbox.framework
    • AVFoundation.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
    • 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.1.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 提供了可帮助您入门的教程。如需了解详情,请参阅以下文档: