מנהל חבילות SWIFT
ב-Firebase מומלץ להשתמש ב-Swift Package Manager לפרויקטים חדשים.
באמצעות Xcode
כדי לקבל תמיכה ב-Swift Package Manager, צריך להתקין את Xcode מגרסה 15.2 ואילך.
אם עוברים מפרויקט שמבוסס על CocoaPods, מריצים את הפקודה
pod deintegrate
כדי להסיר את CocoaPods מהפרויקט ב-Xcode. לאחר מכן אפשר למחוק בבטחה את הקובץ.xcworkspace
שנוצר על ידי CocoaPods. אם זו הפעם הראשונה שאתם מוסיפים את Firebase לפרויקט, אפשר להתעלם מהשלב הזה.ב-Xcode, מתקינים את ספריות Firebase באמצעות מעבר אל File > Add Packages.
בהודעה שמופיעה, בוחרים את המאגר של Firebase GitHub:
https://github.com/firebase/firebase-ios-sdk.git
בוחרים את גרסת Firebase שבה רוצים להשתמש. בפרויקטים חדשים מומלץ להשתמש בגרסה העדכנית ביותר של Firebase.
בוחרים את ספריות Firebase שרוצים לכלול באפליקציה.
בסיום, Xcode יתחיל לפתור את יחסי התלות בין החבילות ולהוריד אותן ברקע.
דרך Package.swift
כדי לשלב את Firebase בחבילת Swift באמצעות מניפסט של Package.swift
, אפשר להוסיף את Firebase למערך dependencies
של החבילה. מידע נוסף זמין במאמרי העזרה של Swift Package Manager.
dependencies: [
.package(name: "Firebase",
url: "https://github.com/firebase/firebase-ios-sdk.git",
from: "8.0"),
// ...
],
לאחר מכן, בכל יעד שתלוי במוצר Firebase, מוסיפים אותו למערך dependencies
של היעד.
.target(
name: "MyTargetName",
dependencies: [
.product(name: "FirebaseAuth", package: "Firebase"),
// ...
]
),
שיקולים ספציפיים למוצר
כדי שחלק ממוצרי Firebase יפעלו כראוי, נדרשים שלבי שילוב נוספים.
Google Analytics
אם Google Analytics נכלל באופן עקיף, צריך להוסיף את הדגל -ObjC
של הקישור להגדרות ה-build של היעד.
Crashlytics
Crashlytics מחייב להעלות סמלים לניפוי באגים.
תוכלו להשתמש בשלב ההרצה של פיתוח סקריפט ל-Xcode כדי להעלות באופן אוטומטי סמלי ניפוי באגים אחרי ה-build. כאן אפשר למצוא את סקריפט ההרצה:
${BUILD_DIR%Build/*}/SourcePackages/checkouts/firebase-ios-sdk/Crashlytics/run
אפשרות נוספת להעלאת סמלים היא באמצעות הסקריפט upload-symbols
. מניחים את הסקריפט בספריית משנה של קובץ הפרויקט (לדוגמה scripts/upload-symbols
), ולאחר מכן מוודאים שאפשר להריץ את הסקריפט:
chmod +x scripts/upload-symbols
אפשר להשתמש בסקריפט הזה כדי להעלות קבצים מסוג dSYM באופן ידני. כדי לקבל הערות לשימוש והוראות נוספות לגבי הסקריפט, מריצים את upload-symbols
בלי פרמטרים.
CocoaPods
ב-Firebase יש תמיכה בהתקנה באמצעות CocoaPods בנוסף ל-Swift Package Manager.
כדי להפיץ CocoaPods של Firebase, נדרש Xcode 15.2 ו-CocoaPods מגרסה 1.12.0 ואילך. כך מתקינים את Firebase באמצעות CocoaPods:
אם עדיין אין לך קובץ Podfile, צריך ליצור אותו. ברמה הבסיסית (root) של ספריית הפרויקט, מריצים את הפקודה הבאה:
pod init
מוסיפים ל-Podfile את ה-pods של Firebase שבהם רוצים להשתמש באפליקציה.
אפשר להוסיף לאפליקציה כל אחד ממוצרי Firebase הנתמכים.
Analytics הופעל
# Add the Firebase pod for Google Analytics pod 'FirebaseAnalytics' # For Analytics without IDFA collection capability, use this pod instead # pod ‘Firebase/AnalyticsWithoutAdIdSupport’ # Add the pods for any other Firebase products you want to use in your app # For example, to use Firebase Authentication and Cloud Firestore pod 'FirebaseAuth' pod 'FirebaseFirestore'
מידע נוסף על IDFA, מזהה הפרסום ברמת המכשיר, זמין במסמכי התיעוד של Apple בנושא פרטיות משתמשים ושימוש בנתונים ושל App Tracking Transparency.
Analytics לא מופעל
# Add the pods for the Firebase products you want to use in your app # For example, to use Firebase Authentication and Cloud Firestore pod 'FirebaseAuth' pod 'FirebaseFirestore'
מתקינים את ה-pods ופותחים את הקובץ
.xcworkspace
כדי לראות את הפרויקט ב-Xcode:pod install --repo-update
open your-project.xcworkspace
שיקולים ספציפיים למוצר
כדי לפעול בצורה תקינה, חלק ממוצרי Firebase דורשים שלבי שילוב נוספים.
Crashlytics
כדי להשתמש ב-Crashlytics, צריך להעלות סמלים של ניפוי באגים.
אפשר להשתמש בשלב build של סקריפט להרצה ב-Xcode כדי להעלות באופן אוטומטי סמלי ניפוי באגים אחרי ה-build. סקריפט ההרצה נמצא כאן:
"${PODS_ROOT}/FirebaseCrashlytics/run"
קרתגו
התמיכה ב-Carthage היא ניסיונית. כדאי לעיין בהוראות ב-GitHub כדי לכלול את Firebase באפליקציה דרך Carthage.
שילוב ידני
Firebase מספקת הפצה של XCFramework בינארי שנוצר מראש למשתמשים שרוצים לשלב את Firebase בלי להשתמש במנהל יחסי תלות. כדי להתקין את Firebase:
מורידים את קובץ ה-zip של ה-SDK של המסגרת. הקובץ הזה מכיל פרוסות ארכיטקטורה לכל ארכיטקטורות היעד הזמינות לכל ערכות ה-SDK של Firebase, ולכן ההורדה עשויה להימשך זמן מה.
מבטלים את האריזה של הקובץ ובודקים את
README
כדי למצוא את המסגרות שרוצים לכלול באפליקציה.מוסיפים את הדגל של הקישור
-ObjC
ב-Other Linker Settings
בהגדרות ה-build של היעד.