אפשרויות להתקנת Firebase באפליקציה ל-Apple

Swift Package Manager

ב-Firebase מומלץ להשתמש ב-Swift Package Manager לפרויקטים חדשים.

דרך Xcode

כדי לקבל תמיכה ב-Swift Package Manager, צריך להתקין את Xcode מגרסה 15.2 ואילך.

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

  2. ב-Xcode, מתקינים את ספריות Firebase על ידי מעבר אל File > Add Packages.

  3. בהודעה שמופיעה, בוחרים את מאגר GitHub של Firebase:

    https://github.com/firebase/firebase-ios-sdk.git
    
  4. בוחרים את גרסת Firebase שבה רוצים להשתמש. בפרויקטים חדשים מומלץ להשתמש בגרסה העדכנית ביותר של Firebase.

  5. בוחרים את ספריות 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 מחייב להעלות סמלים לניפוי באגים.

אפשר להשתמש בשלב build של סקריפט להרצה ב-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:

  1. אם עדיין אין לכם Podfile, צריך ליצור אותו. ברמה הבסיסית (root) של ספריית הפרויקט, מריצים את הפקודה הבאה:

    pod init
  2. מוסיפים ל-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 בנושא פרטיות המשתמשים ושימוש בנתונים ובנושא שקיפות בנושא מעקב אחר אפליקציות.

    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'
  3. מתקינים את ה-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:

  1. מורידים את קובץ ה-zip של ה-SDK של המסגרת. הקובץ הזה מכיל קטעי ארכיטקטורה לכל ארכיטקטורות היעד הזמינות לכל ערכות ה-SDK של Firebase, ולכן הורדת הקובץ עשויה להימשך זמן מה.

  2. מבטלים את האריזה של הקובץ ובודקים את README כדי למצוא את המסגרות שרוצים לכלול באפליקציה.

  3. מוסיפים את הדגל של הקישור -ObjC ב-Other Linker Settings בהגדרות ה-build של היעד.