在 WWDC 2026 上,Apple 向第三方 模型适配器开放了 Foundation Models 框架,这意味着您可以使用与访问设备端模型相同的 API ,通过 Foundation Models 框架访问云端托管模型(例如 Gemini)
在应用中,您可以交换模型实例,以将请求路由到设备端或云端推理,从而满足您的使用场景:
- 设备端模型可提供最大限度的隐私保护、零成本和离线支持。
- 云端托管 Gemini 模型可提供大型上下文窗口、高级 功能和更强的推理能力。
您可以通过使用 Firebase SDK for Apple 平台(具体来说是 Firebase AI Logic 库),通过 Apple's Foundation Models 框架访问云端托管 Gemini 模型 。本指南将向您展示如何开始使用。
为了保护对 Gemini 模型的访问,本指南还将向您展示如何 设置 Firebase App Check,即使在开发期间,此设置也 至关重要。
前提条件
安装最新的 Xcode 27 Beta 版。
Apple 平台模拟器或实体设备,两者都运行相应的 Beta 版操作系统版本(例如 iOS 27 Beta 版)。
使用 SwiftUI 界面的 Apple 平台应用的新 Xcode 项目。
支持的 Gemini 模型
与 Apple 的 Foundation Models 框架的集成支持以下 Gemini 模型。
通用模型
gemini-3.1-pro-previewgemini-3.5-flashgemini-3.1-flash-lite
图片生成模型
gemini-3-pro-image(又名“Nano Banana Pro”)gemini-3.1-flash-image(又名“Nano Banana 2”)
Gemini Live API 模型和 Imagen 模型 不受 支持。 请注意,从技术上讲,Gemini 2.5 模型是受支持的,但不 建议用于新项目,并且需要特殊配置,这些配置不在 本指南的涵盖范围内。
第 1 步:创建 Firebase 项目
我们建议您先创建一个新的 Firebase 项目,以探索此集成。
登录 Firebase 控制台。
点击创建新的 Firebase 项目 。
按照屏幕上的说明操作。您无需 启用 Google Analytics。
第 2 步:将应用连接到 Firebase
如需将应用连接到 Firebase,您必须向 Firebase 项目注册该应用,并将配置文件添加到代码库。
在 项目概览 页面的中心位置,点击 iOS+ 图标,启动设置工作流。
注册您的应用:
输入应用的软件包 ID 。请确保它与您在 Xcode 中构建的项目的软件包 ID 一致。
点击注册应用 。
添加 Firebase 配置文件。 此文件包含 Firebase SDK 连接到 Firebase 项目的设置。
点击下载
以获取配置文件 。GoogleService-Info.plist 将
移到 Xcode 项目的根目录中,并将其添加到所有目标。GoogleService-Info.plist 在 Firebase 控制台中,点击 下一步 。
控制台中的工作流提供了将 Firebase SDK 添加到应用的通用说明 ,因此请跳到本指南的下一步,以获取 Firebase AI Logic的具体说明。
第 3 步:在应用中添加 Firebase 库并初始化 Firebase
使用 Swift Package Manager 添加所需的 Firebase 库:
在 Xcode 中打开您的应用项目,依次选择文件 > 添加软件包 。
输入 Firebase Apple SDK 代码库网址:
https://github.com/firebase/firebase-ios-sdk选择依赖项规则作为分支 ,然后输入
wwdc26-preview。点击添加软件包 。Xcode 将解析并下载依赖项。
看到提示时,将
FirebaseAILogic和FirebaseAppCheck库添加到应用目标。
在应用启动时初始化 Firebase,方法是将以下代码添加到应用的主入口点:
import SwiftUI import FirebaseCore @main struct YourApp: App { init() { FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }
第 4 步:启用 Firebase 服务并确保其安全
现在,您的应用已配置为使用 Firebase,您需要启用 Firebase AI Logic服务,并使用 Firebase App Check保护对其关联 API 的访问。
第 4a 步:在 Firebase 项目中设置 Firebase AI Logic
在 Firebase 控制台中,依次前往 AI 服务 > AI Logic。
点击开始使用 以启动设置工作流。
我们建议您选择 Gemini Developer API 提供方,以便快速免费开始使用。
第 4b 步:在 Firebase 项目中设置 Firebase App Check
,即使在早期 开发阶段也是如此。强制执行后,Firebase App Check 仅允许来自 实际应用和未被篡改的设备的传入请求。Firebase App Check 支持 许多证明提供方,包括 Apple 的 App Attest。
以下步骤适用于 App Check 的基准默认设置。详细了解 App Check 的App Check 其他配置选项(例如调整令牌的 TTL 和启用限用令牌)。
以下是在 Firebase 控制台中注册 App Attest 提供方的步骤:
在 Firebase 控制台中,依次前往 安全性 > App Check。
点击开始使用 。
在 应用 标签页中, 注册您的应用以将 App Check 与 App Attest 提供方搭配使用。
在 API 标签页中, 选择 Firebase AI Logic ,然后点击 强制执行 。
第 4c 步:为本地开发配置 App Check 调试提供方
对于本地开发,请配置 App Check 调试提供方。设置此提供方会在开发期间绕过证明,以便您验证应用的逻辑,而无需修改您在上面设置的生产环境安全配置。
在 Xcode 项目中,在配置
Firebase之前,导入FirebaseAppCheck并使用调试提供方工厂初始化 App Check __。import SwiftUI import FirebaseCore import FirebaseAppCheck @main struct YourApp: App { init() { let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure() } var body: some Scene { WindowGroup { NavigationView { ContentView() } } } }获取调试令牌:
在模拟器中或在测试设备上启动应用。
打开 Xcode 控制台,查找 App Check 调试令牌。 该令牌是在应用启动时生成的,因此应该是您看到的前几个日志之一。类似于以下内容:
<Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.复制令牌(例如
123a4567-b89c-12d3-e456-789012345678)。
在 Firebase 控制台中向 App Check 提供调试令牌:
在 Firebase 控制台中,依次前往 安全性 > App Check > 应用。
找到您的应用,点击溢出菜单 (),然后选择 管理调试令牌。
点击添加调试令牌,输入名称(例如
My Simulator), 粘贴令牌,然后点击保存。
如需详细了解调试提供方(包括如何获取新的调试令牌), 请参阅官方App Check文档。
第 5 步:在应用中初始化 AI Logic 服务
|
点击您的 Gemini API 提供方,以查看此页面上特定于提供商的内容 和代码。 |
配置 Firebase 和 App Check 后,您现在可以在应用中初始化 Firebase AI Logic 服务。
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")
第 6 步:向 Gemini 模型发送请求
在应用中设置、保护和初始化 Firebase AI Logic 后, 您就可以向 Gemini 模型发送请求了。
以下示例展示了最基本的请求类型,即从纯文本提示生成文本:
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")
// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)
// Generate a text response to a prompt.
let response = try await session.respond(to: "Write a story about a magic backpack.")
print(response.content)
Gemini 模型还支持其他类型的请求,例如 分析图片和 PDF 、 生成结构化 JSON 输出 ,以及 生成图片 (使用“Nano Banana”模型)。如需查看这些类型的请求的示例,请参阅文档或示例应用。
流式传输响应
您可以不等待模型生成整个结果,而是使用流式传输 来处理部分结果,从而实现更快的互动。如需流式传输响应,请使用 streamResponse(to:) 而不是 respond(to:)。
import FoundationModels
import FirebaseCore
import FirebaseAILogic
// Initialize the Gemini Developer API backend service.
let ai = FirebaseAI.firebaseAI(backend: .googleAI())
// Initialize a `geminiLanguageModel` with a Gemini model that supports your use case.
let model = ai.geminiLanguageModel(name: "gemini-3.5-flash")
// Create a session by injecting the model into Apple's `LanguageModelSession`.
let session = LanguageModelSession(model: model)
// Generate a streamed text response to a prompt.
// To stream the response, use `streamResponse(to:)` instead of `respond(to:)`
let stream = session.streamResponse(to: "Write a story about a magic backpack.")
var response = ""
for try await snapshot in stream {
// The snapshot contains *all* content generated so far.
response = snapshot.content
}
后续步骤
- 探索通过 Apple 的 Foundation Models 框架访问 Gemini API 时可用的 功能 。
- 了解如何 配置模型 以控制其响应,包括设置思考级别(“推理”)。
- 了解如何向模型提供工具,包括用于获取最新信息的 grounding。
- 详细了解 Firebase App Check 及其如何保护您的资源。
提供反馈 ,说明通过 Apple 的 Foundation Models 框架访问 Gemini API 的体验