ב-WWDC 2026, אפל פתחה את מסגרת Foundation Models למתאמי מודלים של צד שלישי, מה שאומר שאתם יכולים לגשת למודלים שמארחים בענן (כמו Gemini) דרך מסגרת Foundation Models באמצעות אותו API שבו אתם משתמשים כדי לגשת למודלים במכשיר.
באפליקציה, אפשר להחליף את מופע המודל כדי להפנות את הבקשות להסקת מסקנות במכשיר או בענן, בהתאם לתרחיש השימוש:
- מודלים במכשיר מציעים פרטיות מקסימלית, ללא עלות ותמיכה במצב אופליין.
- מודלים Gemini שמתארחים בענן מציעים חלונות הקשר גדולים, יכולות מתקדמות ויכולות חשיבה רציונלית טובות יותר.
אפשר לגשת למודלים Gemini שמתארחים בענן באמצעות מסגרת Foundation Models של אפל, באמצעות Firebase SDK לפלטפורמות Apple – במיוחד הספרייה Firebase AI Logic. במדריך הזה מוסבר איך להתחיל.
כדי להגן על הגישה למודלים של Gemini, במדריך הזה מוסבר גם איך להגדיר Firebase App Check, שהוא קריטי גם במהלך הפיתוח.
דרישות מוקדמות
מתקינים את גרסת הבטא האחרונה של Xcode 27.
סימולטור של פלטפורמת Apple או מכשיר פיזי, שניהם עם גרסת הבטא התואמת של מערכת ההפעלה (לדוגמה, iOS 27 בטא).
פרויקט חדש ב-Xcode של אפליקציה לפלטפורמות של אפל עם ממשק SwiftUI.
דגמי Gemini נתמכים
השילוב עם מסגרת המודלים הבסיסיים של אפל תומך במודלים הבאים של Gemini.
מודלים לשימוש כללי
gemini-3.1-pro-preview-
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 ובמודלים של Imagen. שימו לב: יש תמיכה טכנית במודלים של 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בוחרים באפשרות Branch (ענף) ככלל התלות ומזינים
wwdc26-preview.לוחצים על Add Package (הוספת חבילה). פלטפורמת 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, שמאפשרת להתחיל במהירות ללא עלות.
בכל שלב מאוחר יותר, תמיד אפשר להגדיר את Vertex AI Gemini API (ואת הדרישה שלו לחיוב).
ממשיכים בתהליך העבודה כדי להגדיר את ממשקי ה-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.6-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.6-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.6-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 דרך מסגרת המודלים הבסיסיים של אפל.
- כך מגדירים את המודל כדי לשלוט בתשובות שלו, כולל הגדרת רמת חשיבה ('חשיבה רציונלית').
- איך מספקים כלים למודל, כולל ביסוס על מידע עדכני.
- מידע נוסף על Firebase App Check ועל האופן שבו הוא מגן על המשאבים.
שליחת משוב על הגישה אל Gemini API דרך מסגרת Foundation Models של Apple