مرحله 1 : Performance Monitoring به برنامه خود اضافه کنید
پس از اینکه SDK Performance Monitoring را اضافه کردید، Firebase به طور خودکار شروع به جمعآوری دادهها برای رندر صفحه برنامه شما، دادههای مربوط به چرخه عمر برنامه شما (مانند زمان شروع برنامه )، و دادههای درخواستهای شبکه HTTP/S میکند .
برای نصب و مدیریت وابستگی های Firebase از Swift Package Manager استفاده کنید.
در Xcode، با باز بودن پروژه برنامه، به File > Add Packages بروید.
هنگامی که از شما خواسته شد، مخزن SDK پلتفرم های Apple Firebase را اضافه کنید:
https://github.com/firebase/firebase-ios-sdk.git
کتابخانه Performance Monitoring را انتخاب کنید.
پرچم -ObjC را به بخش Other Linker Flags تنظیمات ساخت هدف خود اضافه کنید.
پس از اتمام، Xcode به طور خودکار شروع به حل و دانلود وابستگی های شما در پس زمینه می کند.
سپس ماژول Firebase را پیکربندی کنید:
ماژول FirebaseCore را در UIApplicationDelegate خود و همچنین هر ماژول Firebase دیگری که نماینده برنامه شما استفاده میکند، وارد کنید. به عنوان مثال، برای استفاده از Cloud Firestore و Authentication :
یک نمونه اشتراکگذاری شده FirebaseApp در روش application(_:didFinishLaunchingWithOptions:) پیکربندی کنید:
SwiftUI
// Use Firebase library to configure APIsFirebaseApp.configure()
سویفت
// Use Firebase library to configure APIsFirebaseApp.configure()
هدف-C
// Use Firebase library to configure APIs[FIRAppconfigure];
اگر از SwiftUI استفاده میکنید، باید یک نماینده برنامه ایجاد کنید و آن را از طریق UIApplicationDelegateAdaptor یا NSApplicationDelegateAdaptor به ساختار App خود متصل کنید. همچنین باید swizzling نمایندگی برنامه را غیرفعال کنید. برای اطلاعات بیشتر، دستورالعمل های SwiftUI را ببینید.
SwiftUI
@mainstructYourApp:App{// register app delegate for Firebase setup@UIApplicationDelegateAdaptor(AppDelegate.self)vardelegatevarbody:someScene{WindowGroup{NavigationView{ContentView()}}}}
برنامه خود را دوباره کامپایل کنید
مرحله 2 : رویدادهای عملکرد را برای نمایش داده های اولیه ایجاد کنید
هنگامی که SDK را با موفقیت به برنامه خود اضافه کنید، Firebase پردازش رویدادها را شروع می کند. اگر هنوز به صورت محلی در حال توسعه هستید، با برنامه خود تعامل داشته باشید تا رویدادهایی برای جمع آوری و پردازش داده های اولیه ایجاد کنید.
به توسعه برنامه خود با استفاده از شبیه ساز یا دستگاه آزمایشی ادامه دهید.
رویدادها را با جابجایی برنامه خود بین پسزمینه و پیشزمینه چندین بار، تعامل با برنامه خود با پیمایش در صفحهها و/یا راهاندازی درخواستهای شبکه ایجاد کنید.
به داشبورد Performance کنسول Firebase بروید. در عرض چند دقیقه باید نمایش داده های اولیه خود را ببینید.
اگر نمایش دادههای اولیه خود را نمیبینید، نکات عیبیابی را مرور کنید.
برای مشاهده داده های خود در کنسول Firebase روی URL کلیک کنید. ممکن است چند لحظه طول بکشد تا داده ها در داشبورد به روز شوند.
اگر برنامه شما رویدادهای عملکرد را ثبت نمیکند، نکات عیبیابی را مرور کنید.
مرحله 4 : (اختیاری) نظارت سفارشی را برای کد خاص اضافه کنید
برای نظارت بر داده های عملکرد مرتبط با کد خاص در برنامه خود، می توانید ردیابی کد سفارشی را ابزار کنید.
با ردیابی کد سفارشی، می توانید اندازه گیری کنید که برنامه شما چقدر طول می کشد تا یک کار خاص یا مجموعه ای از وظایف را انجام دهد، مانند بارگیری مجموعه ای از تصاویر یا جستجو در پایگاه داده شما. معیار پیشفرض برای ردیابی کد سفارشی مدت زمان آن است، اما میتوانید معیارهای سفارشی مانند بازدیدهای حافظه پنهان و هشدارهای حافظه را نیز اضافه کنید.
در کد خود، ابتدا و انتهای یک ردیابی کد سفارشی را با استفاده از API ارائه شده توسط Performance Monitoring SDK تعریف می کنید (و هر معیار دلخواه دلخواه را اضافه می کنید).
برای کسب اطلاعات بیشتر در مورد این ویژگیها و نحوه افزودن آنها به برنامهتان، از Add monitoring برای کد خاصی دیدن کنید.
مرحله 5 : برنامه خود را اجرا کنید و نتایج را بررسی کنید
پس از اینکه Performance Monitoring با استفاده از شبیهساز Xcode و یک یا چند دستگاه آزمایشی تأیید کردید، میتوانید نسخه بهروز شده برنامه خود را برای کاربران خود مستقر کنید.
می توانید داده های عملکرد را در داشبورد عملکرد کنسول Firebase نظارت کنید.
مسائل شناخته شده
Performance Monitoring مشکلات سازگاری با GTMSQLite شناخته شده است. توصیه می کنیم از Performance Monitoring با برنامه هایی که از GTMSQLite استفاده می کنند استفاده نکنید.
تغییر روش پس از فراخوانی FirebaseApp.configure() ممکن است با SDK Performance Monitoring تداخل ایجاد کند.
مشکلات شناخته شده شبیه ساز iOS 8.0-8.2 مانع از ثبت رویدادهای Performance Monitoring بر عملکرد می شود. این مشکلات در iOS 8.3 Simulator و نسخه های بعدی برطرف شده است.
اتصالات ایجاد شده با استفاده از backgroundSessionConfiguration NSURLSession طولانی تر از زمان های اتصال مورد انتظار هستند. این اتصالات خارج از فرآیند اجرا میشوند و زمانبندیها منعکسکننده رویدادهای برگشتی در فرآیند هستند.
تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی.
[null,null,["تاریخ آخرین بهروزرسانی 2025-08-29 بهوقت ساعت هماهنگ جهانی."],[],[],null,["\u003cbr /\u003e\n\nBefore you begin\n\nIf you haven't already,\n[add Firebase to your Apple project](/docs/ios/setup).\n| **Note:** Firebase supports both CocoaPods and Swift Package Manager. If you choose to install Firebase using [Swift Package Manager](/docs/ios/swift-package-manager), you can skip CocoaPods-related steps, like modifying Podfiles and running the `pod` command.\n\n**Step 1** : Add Performance Monitoring to your app\n\nAfter you've added the Performance Monitoring SDK, Firebase automatically starts collecting\ndata for your app's [screen rendering](/docs/perf-mon/screen-traces), data\nrelated to your app's lifecycle (like\n[app start time](/docs/perf-mon/app-start-foreground-background-traces)), and\ndata for [HTTP/S network requests](/docs/perf-mon/network-traces?platform=ios).\n\nUse Swift Package Manager to install and manage Firebase dependencies.\n| Visit [our installation guide](/docs/ios/installation-methods) to learn about the different ways you can add Firebase SDKs to your Apple project, including importing frameworks directly and using CocoaPods.\n\n1. In Xcode, with your app project open, navigate to **File \\\u003e Add Packages**.\n2. When prompted, add the Firebase Apple platforms SDK repository: \n\n```text\n https://github.com/firebase/firebase-ios-sdk.git\n```\n| **Note:** New projects should use the default (latest) SDK version, but you can choose an older version if needed.\n3. Choose the Performance Monitoring library.\n4. Add the `-ObjC` flag to the *Other Linker Flags* section of your target's build settings.\n5. When finished, Xcode will automatically begin resolving and downloading your dependencies in the background.\n\nNext, configure the Firebase module:\n\n1. Import the `FirebaseCore` module in your `UIApplicationDelegate`, as well as any other [Firebase modules](/docs/ios/setup#available-pods) your app delegate uses. For example, to use Cloud Firestore and Authentication: \n\n SwiftUI \n\n ```swift\n import SwiftUI\n import FirebaseCore\n import FirebaseFirestore\n import FirebaseAuth\n // ...\n \n ```\n\n Swift \n\n ```swift\n import FirebaseCore\n import FirebaseFirestore\n import FirebaseAuth\n // ...\n \n ```\n\n Objective-C \n\n ```objective-c\n @import FirebaseCore;\n @import FirebaseFirestore;\n @import FirebaseAuth;\n // ...\n \n ```\n2. Configure a [`FirebaseApp`](/docs/reference/swift/firebasecore/api/reference/Classes/FirebaseApp) shared instance in your app delegate's `application(_:didFinishLaunchingWithOptions:)` method: \n\n SwiftUI \n\n ```swift\n // Use Firebase library to configure APIs\n FirebaseApp.configure()\n ```\n\n Swift \n\n ```swift\n // Use Firebase library to configure APIs\n FirebaseApp.configure()\n ```\n\n Objective-C \n\n ```objective-c\n // Use Firebase library to configure APIs\n [FIRApp configure];\n ```\n3. If you're using SwiftUI, you must create an application delegate and attach it to your `App` struct via `UIApplicationDelegateAdaptor` or `NSApplicationDelegateAdaptor`. You must also disable app delegate swizzling. For more information, see the [SwiftUI instructions](/docs/ios/learn-more#swiftui). \n\n SwiftUI \n\n ```swift\n @main\n struct YourApp: App {\n // register app delegate for Firebase setup\n @UIApplicationDelegateAdaptor(AppDelegate.self) var delegate\n\n var body: some Scene {\n WindowGroup {\n NavigationView {\n ContentView()\n }\n }\n }\n }\n \n ```\n4. Recompile your app.\n\n| **Note:** When you add Performance Monitoring to your app, the Remote Config SDK is included as a dependency. If you already use Remote Config, you won't see any difference. However, if you're new to Remote Config, explore the [Remote Config documentation](/docs/remote-config/ios) to learn more about the various features you'll be able to access in your app.\n\n**Step 2**: Generate performance events for initial data display\n\nFirebase starts processing the events when you successfully add the SDK to your\napp. If you're still developing locally, interact with your app to generate\nevents for initial data collection and processing.\n| **Note:** The Performance Monitoring SDK batches events locally then sends them to Firebase periodically (every 30 seconds) or when the app comes back to foreground. So, there's a delay between an app interaction and when Firebase receives the event information from your app.\n\n1. Continue to develop your app using a simulator or test device.\n\n2. Generate events by switching your app between background and foreground\n several times, interacting with your app by navigating across screens,\n and/or triggering network requests.\n\n3. Go to the [*Performance* dashboard](//console.firebase.google.com/project/_/performance)\n of the Firebase console. You should see your initial data display within\n a few minutes.\n\n If you don't see a display of your initial data, review the [troubleshooting\n tips](/docs/perf-mon/troubleshooting?platform=ios#sdk-detected-no-data).\n\n**Step 3** : *(Optional)* View log messages for performance events\n\n1. Enable debug logging, as follows:\n\n 1. In Xcode (minimum v16.2), select **Product** \\\u003e **Scheme** \\\u003e **Edit scheme**.\n 2. Select **Run** from the left menu, then select the **Arguments** tab.\n 3. In the *Arguments Passed on Launch* section, add `-FIRDebugEnabled`.\n2. Check your log messages for any error messages.\n\n3. Performance Monitoring tags its log messages with `Firebase/Performance` so that you\n can filter your log messages.\n\n4. Check for the following types of logs which indicate that Performance Monitoring is\n logging performance events:\n\n - `Logging trace metric: `\u003cvar translate=\"no\"\u003eTRACE_NAME\u003c/var\u003e`, `\u003cvar translate=\"no\"\u003eFIREBASE_PERFORMANCE_CONSOLE_URL\u003c/var\u003e\n - `Logging network request trace: `\u003cvar translate=\"no\"\u003eURL\u003c/var\u003e\n5. Click on the URL to view your data in the Firebase console. It may take a few\n moments for the data to update in the dashboard.\n\nIf your app isn't logging performance events, review the [troubleshooting\ntips](/docs/perf-mon/troubleshooting?platform=ios#app-not-logging-events).\n\n**Step 4** : *(Optional)* Add custom monitoring for specific code\n\nTo monitor performance data associated with specific code in your app, you can\ninstrument [**custom code traces**](/docs/perf-mon/custom-code-traces).\n\nWith a custom code trace, you can measure how long it takes your app to complete\na specific task or set of tasks, such as loading a set of images or querying\nyour database. The default metric for a custom code trace is its duration, but\nyou can also add custom metrics, such as cache hits and memory warnings.\n\nIn your code, you define the beginning and the end of a custom code trace (and\nadd any desired custom metrics) using the API provided by the Performance Monitoring SDK.\n\n\nVisit [Add monitoring for specific code](/docs/perf-mon/custom-code-traces)\nto learn more about these features and how to add them to your app.\n\n**Step 5**: Deploy your app then review results\n\nAfter you've validated Performance Monitoring using the Xcode simulator and one or more\ntest devices, you can deploy the updated version of your app to your users.\n\nYou can monitor performance data in the\n[*Performance* dashboard](//console.firebase.google.com/project/_/performance)\nof the Firebase console.\n\nKnown issues\n\n- Performance Monitoring has known compatibility issues with GTMSQLite. We recommend not using Performance Monitoring with apps that use GTMSQLite.\n- Method swizzling after calling `FirebaseApp.configure()` might interfere with the Performance Monitoring SDK.\n- Known issues with the iOS 8.0-8.2 Simulator prevent Performance Monitoring from capturing performance events. These issues are fixed in the iOS 8.3 Simulator and later versions.\n- Connections established using NSURLSession's `backgroundSessionConfiguration` will exhibit longer than expected connection times. These connections are executed out-of-process and the timings reflect in-process callback events.\n\nNext steps\n\n- Review and run the\n [Performance Monitoring iOS code sample on GitHub](//github.com/firebase/quickstart-ios/tree/master/performance).\n\n- Learn more about data automatically collected by Performance Monitoring:\n\n - Data related to your app's lifecycle, like [app start time](/docs/perf-mon/app-start-foreground-background-traces?platform=ios)\n - Data for [screen rendering](/docs/perf-mon/screen-traces?platform=ios) in your app\n - Data for [HTTP/S network requests](/docs/perf-mon/network-traces?platform=ios) issued by your app\n- [View, track, and filter](/docs/perf-mon/console?platform=ios) your\n performance data in the Firebase console.\n\n- Add monitoring for specific tasks or workflows in your app by\n [instrumenting custom code traces](/docs/perf-mon/custom-code-traces?platform=ios).\n\n- [Use attributes to filter performance data](/docs/perf-mon/attributes?platform=ios)."]]