CocoaPods הודיעו שהם יהפכו לקריאה בלבד בדצמבר 2026, ואחרי כן לא ניתן יהיה לפרסם גרסאות חדשות של pods. בקטעים הבאים מוסבר בהרחבה על השינוי הזה, ואיך להעביר את האפליקציות למנהלי התקנה אחרים.
סקירה כללית
- מה עומד להשתנות? CocoaPods עובר למצב קריאה בלבד, ו-Firebase יפסיק לפרסם גרסאות חדשות ב-CocoaPods באוקטובר 2026.
- האם האפליקציה שלי תפסיק לפעול? לא. גרסאות קיימות של ספריות Firebase יישארו זמינות ללא הגבלת זמן במאגר CocoaPods, והאפליקציות שלכם שמשתמשות בגרסאות האלה של CocoaPods ימשיכו לפעול.
- למה כדאי לעבור? כדי להמשיך לקבל את התכונות העדכניות ביותר, שיפורים בביצועים ותיקונים קריטיים, צריך להעביר את השימוש אל Swift Package Manager או אל התקנה ידנית.
בהתאם להודעה מ-CocoaPods, Firebase תפסיק לפרסם גרסאות חדשות ב-CocoaPods באוקטובר 2026. השינויים האלה משפיעים על כל הפודים הבאים ועל התלויות המשניות שלהם:
| רכיבי 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.
העברת אפליקציות של Apple
אם אתם מעבירים תלויות אחרות (שאינן Firebase) מ-CocoaPods, כדאי לדעת שהשיטה המומלצת בתחום היא להשתמש בשיטת התקנה אחת לכל הפרויקט. שימוש גם ב-CocoaPods וגם ב-Swift Package Manager (SPM) באותה יעד עלול לגרום למעגלי תלות מורכבים ולשגיאות בנייה. אם התלות שלכם ב-Firebase עדיין לא תומכת ב-SPM, השיטה הכי יציבה לאיחוד תהליך העבודה במהלך ההעברה היא התקנה ידנית של ספריות Firebase.
Swift Package Manager (SPM)
מה זה Swift Package Manager?
Swift Package Manager (SPM) הוא כלי מקורי של Apple לניהול הפצת קוד. הוא משולב ישירות ב-Xcode, כך שלא צריך להשתמש בכלי CLI חיצוניים כמו CocoaPods, ומפשט את מבנה הפרויקט כי לא צריך להשתמש ב-.xcworkspace ברוב ההגדרות הרגילות.
מעבר לשימוש ב-Swift Package Manager
ברוב הפרויקטים, כדי לבצע מיגרציה ל-Swift Package Manager לא צריך לשנות את קוד האפליקציה, אלא אם בפרויקט יש תצורות Xcode מותאמות אישית או תלות שנעשה בהן שימוש רב בסקריפטים להתקנה של CocoaPods.
כך מעבירים את הנתונים מ-CocoaPods ל-Swift Package Manager:
- מוודאים שכל התלויות של האפליקציה תומכות ב-Swift Package Manager. כל הספריות של Firebase תומכות ב-SPM, אבל תצטרכו לבדוק את התמיכה ב-SPM עבור התלות שאינן ב-Firebase במאגרי GitHub או בדפי המוצרים שלהן. אם חלק מהתלויות שאינן Firebase לא תומכות ב-SPM, אז התקנה ידנית במקום SPM היא הדרך היציבה ביותר להעברה מ-CocoaPods.
- כש-Xcode סגור, מסירים את CocoaPods מהפרויקט:
- כדי להסיר את קשרי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
pod deintegrate
- מוחקים את הקובץ
.xcworkspaceשנוצר על ידי CocoaPods.
- כדי להסיר את קשרי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
- ב-Xcode, מעדכנים את הפרויקט עם יחסי התלות של Swift Package Manager:
- פותחים את הקובץ
.xcodeprojשל הפרויקט באמצעות Xcode. - מוסיפים מחדש את התלויות של האפליקציה באמצעות קובץ > הוספת תלויות של חבילה.
- פותחים את הקובץ
- אחרי שמוסיפים את חבילת Firebase, אפשר לעדכן את ספריות Firebase שאתם מסתמכים עליהן. כדי לעשות זאת, עוברים להגדרות הפרויקט ב-Xcode, בוחרים את יעד האפליקציה ומעדכנים את הספריות בקטע Frameworks, Libraries, and Embedded Content (מסגרות, ספריות ותוכן מוטמע). מידע נוסף על שימוש ב-SPM ב-Xcode זמין במסמכי התיעוד של Apple.
התקנה ידנית
מהי התקנה ידנית?
התקנה ידנית כוללת הורדה של ארכיון Firebase.zip, שמכיל מסגרות XCFrameworks שעברו קומפילציה מראש לכל מוצרי Firebase. כך תוכלו לגרור ולשחרר ערכות SDK ספציפיות ישירות לפרויקט Xcode בלי להשתמש במנהל תלות.
מעבר לשימוש בהתקנה ידנית
- כש-Xcode סגור, מסירים את CocoaPods מהפרויקט:
- כדי להסיר את קשרי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
pod deintegrate
- מוחקים את הקובץ
.xcworkspaceשנוצר על ידי CocoaPods.
- כדי להסיר את קשרי התלות של CocoaPods, מריצים את הפקודה הבאה בספריית הפרויקט:
- כדי להוסיף את 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. איך אפשר להשאיר את האפליקציה פועלת?
אפשר להשתמש בגרסאות הישנות של Firebase pods או להעתיק את קובצי ה-podspec של Firebase מ-GitHub ולארח אותם במאגר המפרטים שלכם.
בכל מקרה, מומלץ לעבור מ-CocoaPods בהקדם האפשרי. לא נספק תמיכה רשמית בהתקנת Firebase ישירות מ-podspec אחרי הפסקת התמיכה ב-CocoaPods באוקטובר 2026. אם תבחרו לארח את קובצי ה-podspec בעצמכם, תהיו אחראים לעדכן אותם.
למה התמיכה ב-CocoaPods תופסק באוקטובר 2026, אם אפשר לפרסם ב-CocoaPods עד דצמבר 2026?
בחרנו באוקטובר כדי לוודא שהגרסאות הסופיות שמתפרסמות ב-CocoaPods יציבות לפני שהמאגר יינעל בדצמבר. ציר הזמן הזה מספק מרווח זמן מספיק כדי לתאם את העדכונים הסופיים האלה בצורה בטוחה, וכדי להבטיח שלערכות SDK חוצות-פלטפורמות – שמסתמכות על ערכת ה-SDK המקורית אבל מחזור הפרסום שלהן מתעכב – יהיה מספיק זמן להכין את הגרסאות שלהן.
האם האפליקציה תפסיק לפעול אם לא אעדכן אותה?
לא, ההוצאה משימוש הזו משפיעה רק על גרסאות עתידיות של ספריות Firebase. גרסאות קיימות ב-CocoaPods יישארו זמינות להתקנה, ואפליקציות שנפרסו באמצעות גרסאות ה-Pod האלה לא יושפעו.
האם זה משפיע על החיוב של הפרויקט?
לא.
מופיעה השגיאה FirebaseLibrary not found (ספריית Firebase לא נמצאה) כשמבצעים קומפילציה של הפרויקט אחרי מעבר ל-Swift Package Manager. כיצד אוכל לתקן זאת?
מוודאים שהוספתם את חבילת Firebase לפרויקט Xcode.
כשמוסיפים את חבילת Firebase, Xcode יבקש להוסיף את מסגרות Firebase ליעדי הבנייה של האפליקציה. אם שכחתם להוסיף מסגרת במהלך השלב הזה, תמיד תוכלו להוסיף אותה מאוחר יותר בהגדרות של היעד בקטע Build Phases > Link Binary with Libraries. אם הפרויקט מכיל כמה יעדים, צריך לוודא ש-Firebase נוסף ליעדים הנכונים.
האם המעבר הזה ישבור את פייפליין ה-CI/CD שלי?
לא, צינורות שמופעלים באמצעות pod install או pod update ימשיכו לפעול בגרסאות קיימות. עם זאת, הם לא ימשכו עדכונים חדשים של ספריית Firebase שפורסמו אחרי אוקטובר 2026.