Bu sayfada, Firebase'i kullanırken karşılaşabileceğiniz Apple platformuna özgü sorunlara yönelik ipuçları ve sorun giderme önerileri yer almaktadır.
Başka sorunlarınız var mı veya sorununuzu aşağıda ana hatlarıyla göremiyor musunuz? Firebase'e yönelik daha fazla bilgi veya ürüne özel SSS için ana Firebase SSS bölümünü mutlaka inceleyin.
Bildirilen sorunların ve sorun giderme işlemlerinin güncel listesi için Firebase Apple platformlar SDK'sı GitHub deposuna da göz atabilirsiniz. Firebase Apple platformlar SDK ile ilgili sorunlarınızı da buradan bildirmenizi öneririz.
Firebase hangi Xcode sürümlerini destekler?
Firebase, Apple'ın artık desteklemediği Xcode sürümleri hariç olmak üzere, Xcode'un en fazla iki ana sürümünü destekler. Örneğin, Mart 2019'dan itibaren Apple tüm uygulamalarda en az iOS 12 kullanılmasını zorunlu kıldı. Diğer bir deyişle, Xcode 9 desteği kaldırıldı ve Xcode 10, desteklenen tek ana sürüm oldu.
Xcode'un belirli küçük veya yama sürümlerini (ör. 9.2.0 - 9.4.1) desteklemek için yapılan değişiklikler, Firebase Apple platform SDK'sının ihtiyaçlarına ve geliştirici kullanım anketine göre belirlenir. Bu değişiklikler, Firebase Apple platformlar SDK'sı sürüm notlarında ve Firebase Apple platformlar SDK kurulum sayfasında açıklanmıştır.
SDK tarafından desteklenen minimum Xcode sürümünü görmek için Firebase'i Apple projenize ekleme bölümünde listelenen gereksinimleri kontrol edin.
Xcode'un Beta sürümleri için Firebase desteği, "en iyi çaba" esasına göre sunulur. Geliştiriciler, sorunları GitHub'daki Firebase Apple platformlar SDK deposundan takip edip gönderebilir.
Uygulamam, macOS'te Anahtar Zinciri öğelerine erişmek için kullanıcıdan şifresini istiyor. Bu durumu nasıl düzeltebilirim?
Firebase bağımlılığınızı 9.6.0 veya sonraki bir sürüme yükselterek [Anahtar Zinciri Paylaşımı özelliğini](/docs/ios/troubleshooting-faq#macos-keychain-sharing) hedefinize ekleyin.
Firebase neden macOS'te Anahtar Zinciri Paylaşımı özelliğini gerektirir?
Firebase SDK'ları, FCM için kullanılan Firebase yükleme kimliği gibi bilgileri depolamak için anahtar zincirini kullanır. Anahtar Zinciri erişimi olmadan Firebase SDK'ları düzgün çalışmayabilir. macOS anahtar zinciri, diğer platformlarda (iOS, tvOS, macCatalyst ve watchOS) kullanılan iOS stili anahtar zincirinden farklı şekilde çalışır.
macOS'te, uygulamalar diğer uygulamalar ve işlemler tarafından değiştirilebilen paylaşılan bir anahtar zinciri kullanır. iOS'in aksine, uygulamanın örtülü erişiminin olduğu, korumalı alana alınmış anahtar
zinciri yoktur. Bu yüzden Mac uygulaması, oluşturmadığı bir anahtar zinciri öğesini değiştiriyor olabileceğinden, bir Mac uygulaması anahtar zinciriyle etkileşime geçtiğinde sistem kullanıcıdan erişim izni ister. Firebase bu tutarsızlığı gidermek için kSecUseDataProtectionKeychain
anahtarıyla anahtar zincirini sorgular. Bu anahtar, uygulamaya bir anahtar zinciri erişim grubunun parçası olan bir anahtar zinciri öğesini sorgulamasını söyler (bu, diğer platformlarda varsayılan davranıştır). Anahtar Zinciri Paylaşımı özelliği gereklidir çünkü uygulama, hedefleri arasında paylaşılabilecek bir erişim grubunu sentezlemek için ihtiyaç duyar. Böylece uygulamaya erişim grubundaki anahtar zinciri öğelerine özgürce erişebilir.
Daha fazla bilgi için Apple'ın
Anahtar Zinciri belgelerine
göz atın.
Xcode 13 ve sonraki sürümlerde, UIKit uygulamalarım neden Info.plist dosyasına kaydettiğim bazı URL'leri
açamıyor?
Apple, Info.plist
dosya için 50 LSApplicationQueriesSchemes
girişi sınırı getirdi. 2015'te Apple, her bir uygulamanın yapabileceği URL sorgusu sayısını sınırlamak için LSApplicationQueriesSchemes
hizmetini kullanıma sundu. Xcode 13'ün kullanıma sunulmasıyla birlikte bu sınırlar uygulanırken Xcode 12 ve önceki sürümlerde şema sayısı için etkili bir sınır yoktur.
Firebase Authentication ve Firebase Dynamic Links gibi bazı Firebase ürünleri, uygulamanıza yönlendirmek için özel URL şemalarının kullanılmasını gerektirir. Bu URL'ler, 50 adet bağlantı şeması sınırına çok fazla dahil edilmemesi gereken kısa ve tutarlı bir URL şemasına uygundur.
50'den fazla LSApplicationQueriesSchemes
kaydetmeye devam eden uygulamalarda bazı şemaların sessizce yoksayılacağını unutmayın. Uygulama, eklenme sırasına bağlı olarak belirli derin bağlantıları yürütemeyebilir.