בכנס WWDC 2026, אפל פתחה את מסגרת Foundation Models למתאמי מודלים של צד שלישי, מה שאומר שאתם יכולים לגשת למודלים שמארחים בענן (כמו Gemini) דרך מסגרת Foundation Models באמצעות אותו API שבו אתם משתמשים כדי לגשת למודלים במכשיר.
באפליקציה, אפשר להחליף את מופע המודל כדי להפנות את הבקשות להסקת מסקנות במכשיר או בענן, בהתאם לתרחיש השימוש:
- מודלים במכשיר מציעים פרטיות מקסימלית, ללא עלות ותמיכה במצב אופליין.
- מודלים שמתארחים ב-Cloud Gemini מציעים חלונות הקשר גדולים, יכולות מתקדמות ויכולות ניתוח טובות יותר.
אפשר לגשת למודלים Gemini שמתארחים בענן באמצעות מסגרת Foundation Models של אפל, באמצעות Firebase SDK לפלטפורמות Apple – במיוחד הספרייה Firebase AI Logic. במדריך הזה מוסבר איך להתחיל.
כדי להגן על הגישה למודלים של Gemini, במדריך הזה מוסבר גם איך להגדיר את Firebase App Check, שהוא חיוני גם במהלך הפיתוח.
דרישות מוקדמות
מורידים את Xcode 27 מ-Mac App Store.
סימולטור של פלטפורמת Apple או מכשיר פיזי, שניהם עם גרסת מערכת ההפעלה המתאימה (לדוגמה, iOS 27).
פרויקט חדש ב-Xcode של אפליקציה לפלטפורמות של אפל באמצעות ממשק SwiftUI.
מודלים נתמכים של Gemini
השילוב עם מסגרת המודלים הבסיסיים של אפל תומך במודלים הבאים של Gemini.
מודלים לשימוש כללי
gemini-3.1-pro-preview-
gemini-3.8-flash(וגרסאות ישנות יותר:gemini-3.7-flash,gemini-3.6-flashו-gemini-3.5-flash) -
gemini-3.5-flash-lite(וגםgemini-3.1-flash-lite)
מודלים ליצירת תמונות
-
gemini-3-pro-image(או Nano Banana Pro) -
gemini-3.1-flash-image(נקרא גם Nano Banana 2) -
gemini-3.1-flash-lite-image(נקרא גם Nano Banana 2 Lite)
-
מודלים של Gemini Live API לא נתמכים. חשוב לדעת שיש תמיכה טכנית במודלים של Gemini 2.5, אבל לא מומלץ להשתמש בהם בפרויקטים חדשים. בנוסף, נדרש בהם תהליך הגדרה מיוחד שלא מוסבר במדריכים האלה.
שלב 1: יצירת פרויקט Firebase
מומלץ להתחיל עם פרויקט Firebase חדש כדי לבדוק את השילוב הזה.
נכנסים למסוף Firebase.
לוחצים על יצירת פרויקט חדש ב-Firebase.
פועלים לפי ההוראות במסך. לא צריך להפעיל את Google Analytics.
שלב 2: קישור האפליקציה ל-Firebase
כדי לקשר את האפליקציה ל-Firebase, צריך לרשום אותה בפרויקט Firebase ולהוסיף קובץ הגדרה לבסיס הקוד.
במרכז הדף project overview (סקירה כללית של הפרויקט), לוחצים על הסמל iOS+ כדי להפעיל את תהליך ההגדרה.
רישום האפליקציה:
מזינים את מזהה ה-Bundle של האפליקציה. חשוב לוודא שהוא זהה למזהה החבילה של הפרויקט שאתם בונים ב-Xcode.
לוחצים על Register app (רישום האפליקציה).
מוסיפים את קובץ התצורה של Firebase. הקובץ הזה מכיל את ההגדרות של Firebase SDK לחיבור לפרויקט Firebase.
לוחצים על הורדה
כדי להוריד את קובץ ההגדרות.GoogleService-Info.plist מעבירים את
לרמה הבסיסית (root) של פרויקט Xcode ומוסיפים אותו לכל יעדי הטרגוט.GoogleService-Info.plist לוחצים על הבא במסוף Firebase.
תהליך העבודה במסוף כולל הוראות כלליות להוספת Firebase SDK לאפליקציה, לכן כדאי לדלג לשלב הבא במדריך הזה כדי לקבל הוראות ספציפיות ל-Firebase AI Logic.
שלב 3: מוסיפים ספריות של Firebase ומפעילים את Firebase באפליקציה
משתמשים ב-Swift Package Manager כדי להוסיף את ספריות Firebase הנדרשות:
ב-Xcode, כשפרויקט האפליקציה פתוח, לוחצים על File (קובץ) > Add Packages (הוספת חבילות).
מזינים את כתובת ה-URL של מאגר Firebase Apple SDK:
https://github.com/firebase/firebase-ios-sdkבוחרים לפחות בגרסה 12.19.0.
לוחצים על הוספת חבילה. פלטפורמת 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ולהגן על הגישה לממשקי ה-API המשויכים שלו באמצעות Firebase App Check.
שלב 4א: הגדרה של Firebase AI Logic בפרויקט Firebase
במסוף Firebase, עוברים אל AI Services (שירותי AI) > AI Logic (לוגיקת AI).
כדי להפעיל את תהליך ההגדרה המודרך, לוחצים על Get started (תחילת העבודה).
כשמתבקשים לבחור 'ספק Gemini API', מומלץ לבחור באפשרות Gemini Developer API, שמאפשרת להתחיל במהירות ללא עלות.
בכל שלב בהמשך, תמיד תוכלו להגדיר את Agent Platform Gemini API (formerly Vertex AI) (ואת הדרישה שלו לחיוב).
ממשיכים בתהליך העבודה כדי להגדיר את ממשקי ה-API הנדרשים ואת השירותים המשויכים ל-Firebase AI Logic.
החל מתחילת יולי 2026, בשלב הזה של תהליך העבודה, תופעל Firebase App Check באופן אוטומטי עבור AI Logic, שהוא שירות חיוני שעוזר להגן על Gemini API כשניגשים אליו ישירות מהאפליקציה. כדי להתחיל (ראו את השלבים בהמשך המדריך), תצטרכו להגדיר את App Check ספק ניפוי הבאגים לפיתוח מקומי כשApp Check מופעל.
שלב 4ב: הגדרת ספק הניפוי באגים App Check לפיתוח מקומי
לפיתוח מקומי, צריך להגדיר את App Check ספק אימות לצורכי ניפוי באגים כדי לעקוף את האימות, ועדיין לשמור על האכיפה של App Check.
בפרויקט Xcode, מייבאים את
FirebaseAppCheckומפעילים את App Check עם יצירת ספק אימות לצורכי ניפוי באגים לפני שמגדירים אתFirebase.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).
רושמים את אסימון ניפוי הבאגים ב-App Check:
במסוף Firebase, עוברים אל Security (אבטחה) > App Check (בדיקת אפליקציות) > הכרטיסייה Apps (אפליקציות).
מוצאים את האפליקציה, לוחצים על תפריט האפשרויות הנוספות () ובוחרים באפשרות ניהול אסימוני ניפוי באגים.
פועלים לפי ההוראות במסך כדי לרשום את אסימון הניפוי באגים.
פרטים על ספק אימות לצורכי ניפוי באגים (כולל איך מקבלים אסימון חדש לניפוי באגים) זמינים במסמכים הרשמיים של 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.8-flash")
שלב 6: שליחת בקשה למודל Gemini
אחרי שמגדירים את Firebase AI Logic, מגינים עליו ומפעילים אותו באפליקציה, אפשר לשלוח בקשה למודל Gemini.
בדוגמה הבאה מוצגת הבקשה הבסיסית ביותר – יצירת טקסט דינמי מבוסס-AI מהנחיה שמכילה טקסט בלבד:
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.8-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 ויצירת תמונות שנוצרו על ידי AI (באמצעות מודלים של 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.8-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
}
השלבים הבאים
- כדאי לעיין ביכולות הזמינות כשניגשים אל Gemini API דרך מסגרת Foundation Models של אפל.
- איך מגדירים את המודל כדי לשלוט בתשובות שלו, כולל הגדרת רמת חשיבה (נימוק).
- איך מספקים למודל כלים, כולל ביסוס על מידע עדכני.
- מידע נוסף על Firebase App Check ועל האופן שבו הוא מגן על המשאבים.
שליחת משוב על הגישה אל Gemini API דרך מסגרת Foundation Models של Apple