Pemecahan masalah & FAQ untuk platform Apple dan Firebase
Tetap teratur dengan koleksi
Simpan dan kategorikan konten berdasarkan preferensi Anda.
Halaman ini menawarkan tips dan pemecahan masalah untuk masalah khusus platform Apple yang mungkin Anda alami saat menggunakan Firebase.
Ada kesulitan lain atau masalah yang Anda alami tidak dijelaskan di bawah ini? Pastikan Anda membaca FAQ Firebase utama untuk mengetahui lebih lanjut FAQ lintas Firebase atau khusus produk.
Anda juga dapat melihat repo GitHub Firebase SDK untuk platform Apple untuk mengetahui daftar masalah dan pemecahan masalah terbaru yang dilaporkan. Sebaiknya Anda juga melaporkan masalah terkait Firebase SDK untuk platform Apple di sana.
Versi Xcode apa yang didukung Firebase?
Firebase mendukung hingga dua versi utama Xcode, tidak termasuk versi Xcode yang tidak lagi didukung Apple. Misalnya, mulai Maret 2019, Apple mewajibkan semua aplikasi menggunakan minimal iOS 12. Ini berarti dukungan Xcode 9 telah dihentikan, dan Xcode 10 adalah satu-satunya versi utama yang didukung.
Aplikasi saya meminta sandi kepada pengguna untuk mengakses item Keychain di macOS. Bagaimana cara mengatasi ini?
Upgrade dependensi Firebase Anda ke versi 9.6.0 atau yang lebih tinggi dan tambahkan [kemampuan Keychain Sharing](/docs/ios/troubleshooting-faq#macos-keychain-sharing) ke target Anda.
Mengapa Firebase memerlukan kemampuan Keychain Sharing di macOS?
Firebase SDK menggunakan keychain untuk menyimpan informasi seperti ID penginstalan Firebase yang digunakan untuk FCM. Tanpa akses Keychain, Firebase SDK mungkin tidak berfungsi dengan benar. Keychain macOS berperilaku berbeda dengan keychain bergaya iOS yang digunakan di platform lain (iOS, tvOS, macCatalyst, dan watchOS).
Di macOS, aplikasi menggunakan keychain bersama yang dapat dimodifikasi oleh aplikasi dan proses lain. Tidak seperti iOS, tidak ada keychain sandbox yang dapat diakses secara implisit oleh aplikasi. Jadi, saat aplikasi Mac berinteraksi dengan keychain, sistem akan meminta pengguna untuk mengakses karena aplikasi Mac mungkin akan mengubah item keychain yang tidak dibuatnya. Untuk mengatasi perbedaan ini, Firebase mengkueri keychain dengan kunci kSecUseDataProtectionKeychain, yang memberi tahu aplikasi untuk mengkueri item keychain yang merupakan bagian dari grup akses keychain (ini adalah perilaku default pada platform lainnya). Kemampuan Keychain Sharing diperlukan karena aplikasi perlu menyatukan grup akses yang dapat dibagikan di antara targetnya, sehingga memberikan izin bagi aplikasi untuk mengakses item keychain secara bebas dalam grup akses.
Di Xcode versi 13 dan yang lebih baru, mengapa aplikasi UIKit saya tidak dapat membuka beberapa URL yang telah saya daftarkan di Info.plist?
Apple memperkenalkan batas 50 entri LSApplicationQueriesSchemes dalam file Info.plist. Pada tahun 2015, Apple memperkenalkan LSApplicationQueriesSchemes untuk membatasi jumlah kueri URL yang dapat dibuat oleh setiap aplikasi. Dengan rilis Xcode 13, batasan ini diterapkan, sedangkan di Xcode 12 dan yang lebih lama tidak ada batas efektif untuk jumlah skema.
Beberapa produk Firebase, seperti Firebase Authentication dan Firebase Dynamic Links, mengharuskan penggunaan skema URL kustom untuk mengalihkan pengguna ke aplikasi Anda. URL ini sesuai dengan skema URL yang ringkas dan konsisten yang tidak akan dihitung secara signifikan terhadap batas skema 50 link.
Perlu diketahui bahwa untuk aplikasi yang terus mendaftarkan lebih dari 50 LSApplicationQueriesSchemes, beberapa skema akan diabaikan secara diam-diam. Aplikasi mungkin tidak dapat menjalankan deep link tertentu, bergantung pada urutan penambahannya.
[[["Mudah dipahami","easyToUnderstand","thumb-up"],["Memecahkan masalah saya","solvedMyProblem","thumb-up"],["Lainnya","otherUp","thumb-up"]],[["Informasi yang saya butuhkan tidak ada","missingTheInformationINeed","thumb-down"],["Terlalu rumit/langkahnya terlalu banyak","tooComplicatedTooManySteps","thumb-down"],["Sudah usang","outOfDate","thumb-down"],["Masalah terjemahan","translationIssue","thumb-down"],["Masalah kode / contoh","samplesCodeIssue","thumb-down"],["Lainnya","otherDown","thumb-down"]],["Terakhir diperbarui pada 2025-09-04 UTC."],[],[],null,["\u003cbr /\u003e\n\nThis page offers tips and troubleshooting for Apple platform-specific issues\nthat you might encounter when using Firebase.\n\nHave other challenges or don't see your issue outlined below? Make sure to check\nout the [main Firebase FAQ](/support/faq) for more pan-Firebase or\nproduct-specific FAQ.\n\nYou can also check out the\n[Firebase Apple platforms SDK GitHub repo](https://github.com/firebase/firebase-ios-sdk/issues)\nfor an up-to-date list of reported issues and troubleshooting. We encourage you\nto file your own Firebase Apple platforms SDK related issues there, too! \n\nWhat versions of Xcode does Firebase support?\n\nFirebase supports up to two major versions of Xcode, not including versions\nof Xcode that Apple no longer supports. For example, starting in March 2019,\nApple required at least iOS 12 on all apps, meaning Xcode 9 support was\ndropped and Xcode 10 was the only major version supported.\n\nChanges to support for specific minor or patch versions of Xcode\n(for example, 9.2.0 to 9.4.1) are determined based on the needs of the\nFirebase Apple platforms SDK and a survey of developer usage. These changes\nare reflected in the\n[Firebase Apple platforms SDK release notes](/support/release-notes/ios)\nand on the [Firebase Apple platforms SDK setup page](/docs/ios/setup).\n\nTo see the minimum Xcode version supported by the SDK, check\nthe requirements listed in\n[Add Firebase to your Apple project](/docs/ios/setup).\n\nFirebase support for Beta releases of Xcode is available on a \"best effort\"\nbasis. Developers can track and submit issues in the\n[Firebase Apple platforms SDK repository on GitHub](//github.com/firebase/firebase-ios-sdk/issues). \n\nMy app prompts the user for their password to access Keychain items on macOS. How do I fix this?\n\nUpgrade your Firebase dependency to version 9.6.0 or higher and add the\n\\[Keychain Sharing capability\\](/docs/ios/troubleshooting-faq#macos-keychain-sharing)\nto your target. \n\nWhy does Firebase require the Keychain Sharing capability on macOS?\n\nFirebase SDKs use keychain to store information like the Firebase\ninstallation ID used for FCM. Without Keychain access, Firebase SDKs may not\nfunction correctly. The macOS keychain behaves differently than the iOS-style\nkeychain that is used on other platforms (iOS, tvOS, macCatalyst,\nand watchOS).\n\nOn macOS, apps use a shared keychain that may be modified by other apps and\nprocesses. Unlike iOS, there is no sandboxed keychain that the app has\nimplicit access to. So, when a Mac app interacts with the keychain, the system\nprompts the user for access since the Mac app may be modifying a keychain item\nthat it did not create. To address this discrepancy, Firebase queries the\nkeychain with the `kSecUseDataProtectionKeychain` key, which tells\nthe app to query a keychain item that is part of a keychain access group\n(this is default behavior on other platforms). The Keychain Sharing capability\nis required because the app needs it to synthesize an access group that can be\nshared amongst its targets, thus giving permission for the app to freely\naccess keychain items in the access group.\n\nFor more information, see Apple's\n[Keychain documentation](https://developer.apple.com/documentation/security/keychain_services/keychains). \n\nIn Xcode versions 13 and later, why can my UIKit apps not open some\nURLs I've registered\nin my Info.plist?\n\nApple introduced a limit of 50 `LSApplicationQueriesSchemes`\nentries in `Info.plist` files. In 2015, Apple introduced\n`LSApplicationQueriesSchemes` to limit the number of URL queries\neach app could make. With the release of Xcode 13, these limits are enforced,\nwhile in Xcode 12 and earlier there was no effective limit to the number of\nschemes.\n\nSome Firebase products, like Firebase Authentication and Firebase Dynamic Links,\nrequire the use of custom URL schemes to redirect to your application. These\nURLs conform to a concise and consistent URL scheme that should not count\nsignificantly against the 50 link scheme limit.\n\nNote that for apps that continue to register more than 50\n`LSApplicationQueriesSchemes`, some schemes will\nbe silently ignored. The app may be unable to execute certain deeplinks,\ndepending on the order in which they are added."]]