העברה מ-CocoaPods

ב-CocoaPods הודיעו שהחל מדצמבר 2026, הפלטפורמה תהיה במצב קריאה בלבד, ולא יהיה אפשר לפרסם גרסאות חדשות של pod. בקטעים הבאים מוסבר בהרחבה על השינוי הזה ואיך להעביר את האפליקציות למנהלי התקנות אחרים.

סקירה כללית

  • מה עומד להשתנות? ‫CocoaPods עובר למצב קריאה בלבד. ‫Firebase 12 היא הגרסה הראשית האחרונה שפורסמה ב-CocoaPods, ובאוקטובר 2026 Firebase תפסיק לפרסם גרסאות חדשות ב-CocoaPods.
  • האם האפליקציה שלי תפסיק לפעול? לא. הגרסאות הקיימות של ספריות Firebase ימשיכו להיות זמינות במרשם של CocoaPods, והאפליקציות שמשתמשות בגרסאות האלה של CocoaPods ימשיכו לפעול כל עוד יש תמיכה בסביבה העסקית של CocoaPods.
  • למה כדאי לעבור? כדי להמשיך לקבל את התכונות העדכניות, שיפורי הביצועים ותיקונים קריטיים, צריך לעבור לשימוש ב-Swift Package Manager או בהתקנה ידנית.

בהתאם להודעה של CocoaPods, באוקטובר 2026 Firebase תפסיק לפרסם גרסאות חדשות ב-CocoaPods. השינויים האלה משפיעים על כל ה-pods הבאים ועל יחסי התלות שלהם:

פודים מושפעים של Firebase
Firebase FirebaseAuth FirebaseInstallations
FirebaseABTesting FirebaseCore FirebaseMessaging
FirebaseAI FirebaseCrashlytics FirebaseMLModelDownloader
FirebaseAILogic FirebaseDatabase FirebasePerformance
FirebaseAnalytics FirebaseFirestore FirebaseRemoteConfig
FirebaseAppCheck FirebaseFunctions FirebaseStorage
FirebaseAppDistribution FirebaseInAppMessaging

השינויים האלה ישפיעו גם על כל ההפצות של Firebase שעוטפות את Firebase Apple SDK המקורי, כולל Firebase Unity SDK,‏ Firebase C++ SDK ו-FlutterFire.

העברת האפליקציות של אפל

אם אתם מעבירים יחסי תלות אחרים (לא של Firebase) מ-CocoaPods, חשוב לזכור שהשיטה המומלצת בתחום היא להשתמש בשיטת התקנה אחת לכל הפרויקט. שילוב של CocoaPods ו-Swift Package Manager‏ (SPM) באותו יעד עלול לגרום למחזורי תלות מורכבים ולשגיאות build. אם יחסי התלות שאינם של Firebase עדיין לא תומכים ב-SPM, התקנה ידנית של ספריות Firebase היא הדרך היציבה ביותר לאחד את תהליך העבודה במהלך ההעברה.

Swift Package Manager (SPM)

מה זה Swift Package Manager?

‫Swift Package Manager ‏ (SPM) הוא הכלי המקורי של אפל לניהול הפצת קוד. הוא משולב ישירות ב-Xcode, כך שאין צורך בכלים חיצוניים של CLI כמו CocoaPods, ומבנה הפרויקט פשוט יותר כי לא צריך .xcworkspace ברוב ההגדרות הרגילות.

מעבר לשימוש ב-Swift Package Manager

ברוב הפרויקטים, המעבר ל-Swift Package Manager לא דורש שינוי של קוד האפליקציה, אלא אם לפרויקט יש הגדרות Xcode בהתאמה אישית או יחסי תלות שמשתמשים הרבה בסקריפטים של התקנת CocoaPods.

כך עוברים מ-CocoaPods ל-Swift Package Manager:

  1. מוודאים שכל אחד מהרכיבים שהאפליקציה תלויה בהם תומך ב-Swift Package Manager. כל הספריות של Firebase תומכות ב-SPM, אבל צריך לבדוק את התמיכה ב-SPM ביחסי התלות שאינם של Firebase במאגרי GitHub או בדפי המוצרים שלהם. אם חלק מיחסי התלות שאינם של Firebase לא תומכים ב-SPM, השימוש בהתקנה ידנית במקום ב-SPM הוא נתיב ההעברה היציב ביותר מ-CocoaPods.
  2. כש-Xcode סגור, מסירים את CocoaPods מהפרויקט:
    1. כדי להסיר את יחסי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
      pod deintegrate
    2. מוחקים את הקובץ .xcworkspace שנוצר על ידי CocoaPods.
  3. ב-Xcode, מעדכנים את הפרויקט עם יחסי התלות של Swift Package Manager:
    1. פותחים את הקובץ .xcodeproj של הפרויקט באמצעות Xcode.
    2. מוסיפים מחדש את יחסי התלות של האפליקציה באמצעות File > Add Package Dependencies (קובץ > הוספת יחסי תלות של חבילה).
  4. אחרי שמוסיפים את חבילת Firebase, אפשר לעדכן את הספריות של Firebase שבהן אתם משתמשים. כדי לעשות את זה, עוברים להגדרות הפרויקט ב-Xcode, בוחרים את היעד של האפליקציה ומעדכנים את הספריות בקטע Frameworks, Libraries, and Embedded Content (סביבות עבודה, ספריות ותוכן מוטמע).

מידע נוסף על שימוש ב-SPM ב-Xcode זמין במסמכי התיעוד של Apple.

התקנה ידנית

מהי התקנה ידנית?

התקנה ידנית כוללת הורדה של ארכיון Firebase.zip, שמכיל קובצי XCFrameworks שעברו קומפילציה מראש לכל מוצרי Firebase. כך תוכלו לגרור ולשחרר ערכות SDK ספציפיות ישירות לפרויקט Xcode בלי להשתמש במנהל יחסי תלות.

מעבר להתקנה ידנית

  1. כש-Xcode סגור, מסירים את CocoaPods מהפרויקט:
    1. כדי להסיר את יחסי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
      pod deintegrate
    2. מוחקים את הקובץ .xcworkspace שנוצר על ידי CocoaPods.
  2. כדי להוסיף את Firebase לפרויקט באופן ידני, פועלים לפי השלבים שמפורטים במדריך ההתקנה.

העברת אפליקציות Unity,‏ C++‎ ו-Flutter

‫Firebase Unity SDK ו-FlutterFire

רוב המפתחים ב-Unity וב-Flutter לא צריכים לעשות שום דבר. כשמעדכנים לגרסה העדכנית של Firebase ב-Unity או ב-Flutter, מנהל יחסי התלות הבסיסי בפלטפורמות של אפל עובר אוטומטית ל-Swift Package Manager.

שימו לב: אם אתם מנהלים יחסי תלות שאינם של Firebase באמצעות CocoaPods, יכול להיות שתצטרכו להעביר אותם באופן ידני.

Firebase C++ SDK

אם כללתם את יחסי התלות הבסיסיים של iOS דרך CocoaPods, אתם יכולים לפעול לפי הוראות ההעברה שלמעלה כדי לעדכן את יחסי התלות של Firebase CocoaPod כך שישתמשו ב-Swift Package Manager במקום זאת.

שאלות נפוצות

אני צריך להמשיך להשתמש ב-CocoaPods אחרי אוקטובר 2026. איך אפשר להמשיך להפעיל את האפליקציה?

אתם יכולים להשתמש בגרסאות הישנות של ה-pods של Firebase או להעתיק את ה-podspecs של Firebase מ-GitHub ולארח אותם במאגר המפרטים שלכם.

בכל מקרה, מומלץ להעביר את האפליקציה מ-CocoaPods בהקדם האפשרי. אנחנו לא נספק תמיכה רשמית בהתקנה של Firebase ישירות מ-podspec אחרי שנפסיק את התמיכה ב-CocoaPods באוקטובר 2026. אם תבחרו לארח את קובצי ה-podspec בעצמכם, תצטרכו לדאוג לעדכן אותם.

למה התמיכה ב-CocoaPods תופסק באוקטובר 2026 אם אפשר לפרסם CocoaPods עד דצמבר 2026?

בחרנו באוקטובר כדי לוודא שהגרסאות הסופיות שפורסמו ב-CocoaPods יהיו יציבות לפני שהרישום יינעל בדצמבר. לוח הזמנים הזה מספק את הזמן הדרוש כדי לתאם את העדכונים הסופיים האלה בצורה בטוחה, ומבטיח שלערכות SDK בפלטפורמות שונות – שתלויות ב-SDK המקורי אבל יש להן מחזורי הפצה מאוחרים יותר – יהיה מספיק זמן להכין את הגרסאות שלהן.

האם האפליקציה תפסיק לפעול אם לא אעדכן אותה?

לא, ההוצאה משימוש משפיעה רק על גרסאות עתידיות של ספריות Firebase. גרסה 12 של Firebase היא הגרסה הראשית האחרונה שפורסמה ב-CocoaPods, וגרסאות קיימות (גרסה 12 וגרסאות קודמות) ב-CocoaPods ימשיכו להיות ניתנות להתקנה ולפעול כל עוד נמשכת התמיכה בסביבה העסקית של CocoaPods.

האם זה משפיע על החיוב בפרויקט?

לא.

מופיעה לי השגיאה "FirebaseLibrary not found" כשאני מקמפל את הפרויקט אחרי המעבר ל-Swift Package Manager. כיצד אוכל לתקן זאת?

מוודאים שהוספתם את חבילת Firebase לפרויקט Xcode.

כשמוסיפים את חבילת Firebase, מערכת Xcode מבקשת להוסיף את מסגרות Firebase ליעדי ה-build של האפליקציה. אם שכחתם להוסיף מסגרת בשלב הזה, תמיד תוכלו להוסיף אותה מאוחר יותר בהגדרות של היעד, בקטע Build Phases > Link Binary with Libraries. אם הפרויקט מכיל כמה יעדים, ודאו שהוספתם את Firebase ליעדים הנכונים.

האם המעבר הזה ישבש את צינורות עיבוד הנתונים של CI/CD?

לא, צינורות עיבוד נתונים שפועלים ב-pod install או ב-pod update ימשיכו לפעול בגרסאות קיימות. עם זאת, הם לא יקבלו עדכונים חדשים של ספריית Firebase שיושקו אחרי אוקטובר 2026.