本文档介绍了如何开始在 iOS 上使用附近发送消息 API 进行开发。
第 1 步:获取最新版本的 Xcode
如需使用 Google Nearby Messages API for iOS 构建项目,您需要获取 Xcode 的 6.3 版或更高版本。
第 2 步:获取 CocoaPods
Google Nearby Messages API for iOS 以 CocoaPods pod 的形式提供。CocoaPods 是一种用于 Swift 和 Objective-C Cocoa 项目的开源依赖项管理器。
如果您尚未安装 CocoaPods 工具,请在 OS X 上从终端运行以下命令进行安装。如需了解详情,请参阅 CocoaPods 入门指南。
$ sudo gem install cocoapods
第 3 步:使用 CocoaPods 安装 API
为 Google Nearby Messages API for iOS 创建一个 Podfile
,并使用它来安装 API 及其依赖项。
- 如果您尚未创建 Xcode 项目,请立即创建一个并将其保存到您的本地计算机上。(如果您刚开始接触 iOS 开发,请创建一个单视图应用,并确保“Use Automatic Reference Counting”(使用自动引用计数)处于启用状态。)
- 在您的项目目录中创建一个名为
Podfile
的文件。此文件用于定义项目的依赖项。 修改
Podfile
并添加您的依赖项。以下是一个简单的 Podspec,其中包括适用于 iOS 的 Google Nearby Messages API 所需的 pod 名称:source 'https://github.com/CocoaPods/Specs.git' platform :ios, '7.0' pod 'NearbyMessages'
保存
Podfile
。打开一个终端,然后转到包含
Podfile
的目录:$ cd
运行
pod install
命令。此操作会安装 Podspec 中指定的 API 及其可能具有的任何依赖项。$ pod install
关闭 Xcode,然后打开(双击)您项目的
.xcworkspace
文件以启动 Xcode。从此刻开始,您必须使用.xcworkspace
文件打开项目。
第 4 步:创建桥接头文件(仅限 Swift)
如果您使用 Swift 创建项目,则必须向项目中添加桥接头文件,以便项目可以使用 pod 文件安装的库。请按以下步骤添加桥接头文件:
- 在项目的
.xcworkspace
文件所在的目录中,添加一个新的头文件(可以随意命名,并使用“.h”作为文件扩展名)。 - 将以下代码粘贴到您创建的文件中:
#import <GNSMessages.h>
。 - 保存文件。
- 在项目编辑器的左侧窗格中,选择主项目。
- 点击构建编辑器顶部的构建设置。
- 在“Build Settings”(构建设置)中,前往“Swift Compiler - Code Generation”(Swift 编译器 - 代码生成)(在搜索框中输入“Swift Compiler”即可快速找到该选项)。
- 点击箭头以展开 Objective-C 桥接头文件部分。
- 在Debug 和 Release 下,添加您所创建标头文件的路径。
- 构建项目以使更改生效。
第 5 步:获取 Google 账号
如需使用 Nearby Messages API,您需要拥有一个 Google 账号。如果您已经拥有一个账号,则无需进行任何操作。您可能还需要一个用来测试的单独 Google 账号。
第 6 步:获取 API 密钥
请按以下步骤操作,为 iOS 启用 Google Nearby Messages API 并获取 API 密钥:
- 前往 Google 开发者控制台。
- 创建或选择一个项目来注册您的应用。
- 点击继续以启用 API。
- 在凭据页面上,创建新的 iOS 密钥(并设置 API 凭据)。
注意:如果您已有 iOS 密钥,可以使用该密钥。 - 在生成的对话框中,输入应用的捆绑包标识符。例如:
com.example.nearbyexample
- 您的新 iOS API 密钥随即会显示在项目的 API 密钥列表中。
API 密钥是类似于如下的字符串:
AIzaSyBdVl-cTICSwYKrZ95SuvNw7dbMuDt1KG0
- 为了防止配额盗用,请遵循以下最佳实践,保护您的 API 密钥。
第 7 步:创建消息管理器对象
借助消息管理器对象,您可以发布和订阅消息。消息交换未经身份验证,因此您必须提供在上一步中创建的 API 密钥。
Objective-C
#import <GNSMessages.h>
GNSMessageManager *messageManager =
[[GNSMessageManager alloc] initWithAPIKey:@"API_KEY"];
Swift
let messageManager = GNSMessageManager(APIKey: "API_KEY")