CocoaPods הודיעו שהם יהפכו לזמינים לקריאה בלבד בדצמבר 2026, ואחרי כן לא תהיה יותר אפשרות לפרסם גרסאות חדשות של pods. בקטעים הבאים מוסבר בהרחבה על השינוי הזה, ואיך להעביר את האפליקציות למנהלי התקנה אחרים.
סקירה כללית
- מה משתנה? CocoaPods עובר למצב קריאה בלבד. Firebase 12 היא הגרסה הראשית האחרונה שפורסמה ב-CocoaPods, ו-Firebase תפסיק לפרסם גרסאות חדשות ב-CocoaPods באוקטובר 2026.
- האם האפליקציה שלי תפסיק לפעול? לא. גרסאות קיימות של ספריות Firebase יישארו זמינות במאגר CocoaPods, והאפליקציות שלכם שמשתמשות בגרסאות האלה של CocoaPod ימשיכו לפעול כל עוד התמיכה במערכת האקולוגית של 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.
העברת אפליקציות של אפל
אם אתם מעבירים תלויות אחרות (שאינן 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.
כך מעבירים את הנתונים אל Swift Package Manager מ-CocoaPods:
- מוודאים שכל התלויות של האפליקציה תומכות ב-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. Firebase 12 היא הגרסה הראשית האחרונה שפורסמה ב-CocoaPods, וגרסאות קיימות (גרסה 12 וגרסאות קודמות) ב-CocoaPods יישארו ניתנות להתקנה ופונקציונליות כל עוד התמיכה בסביבת CocoaPods תימשך.
האם זה משפיע על החיוב של הפרויקט?
לא.
מופיעה לי השגיאה 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.