Na tej stronie znajdziesz wskazówki i rozwiązania problemów związanych z platformą Apple, które mogą wystąpić podczas korzystania z Firebase.
Masz inne problemy lub nie widzisz swojego problemu poniżej? Więcej informacji o Firebase i poszczególnych usługach znajdziesz w głównych najczęstszych pytaniach dotyczących Firebase.
Aktualną listę zgłoszonych problemów i rozwiązań znajdziesz w repozytorium GitHub pakietu SDK Firebase na platformy Apple. Zachęcamy do zgłaszania tam również problemów związanych z pakietem SDK Firebase na platformy Apple.
Jakie wersje Xcode są obsługiwane przez Firebase?
Firebase obsługuje maksymalnie 2 główne wersje Xcode, z wyjątkiem wersji Xcode, które nie są już obsługiwane przez Apple. Na przykład od marca 2019 r. firma Apple wymagała, aby wszystkie aplikacje działały co najmniej na iOS 12, co oznaczało, że wsparcie dla Xcode 9 zostało wycofane, a jedyną obsługiwaną wersją główną był Xcode 10.
Zmiany w obsłudze konkretnych wersji podrzędnych lub poprawek Xcode (np. z 9.2.0 na 9.4.1) są określane na podstawie potrzeb pakietu SDK Firebase na platformy Apple i wyników ankiety dotyczącej korzystania z niego przez deweloperów. Te zmiany są odzwierciedlone w informacjach o wersjach pakietu SDK Firebase na platformy Apple i na stronie konfiguracji pakietu SDK Firebase na platformy Apple.
Aby sprawdzić minimalną wersję Xcode obsługiwaną przez pakiet SDK, zapoznaj się z wymaganiami podanymi w artykule Dodawanie Firebase do projektu Apple.
Obsługa Firebase w przypadku wersji beta Xcode jest dostępna w ramach najlepszych starań. Deweloperzy mogą śledzić i zgłaszać problemy w repozytorium pakietu SDK Firebase na platformy Apple w GitHubie.
Moja aplikacja prosi użytkownika o podanie hasła w celu uzyskania dostępu do elementów pęku kluczy w systemie macOS. Jak to naprawić?
Zaktualizuj zależność Firebase do wersji 9.6.0 lub nowszej i dodaj do projektu [funkcję udostępniania pęku kluczy](/docs/ios/troubleshooting-faq#macos-keychain-sharing).
Dlaczego Firebase wymaga funkcji udostępniania pęku kluczy w systemie macOS?
Pakiety SDK Firebase używają łańcucha kluczy do przechowywania informacji, takich jak identyfikator instalacji Firebase używany w FCM. Bez dostępu do pęku kluczy pakiety SDK Firebase mogą nie działać prawidłowo. Pęk kluczy macOS działa inaczej niż pęk kluczy w stylu iOS, który jest używany na innych platformach (iOS, tvOS, macCatalyst i watchOS).
W systemie macOS aplikacje korzystają ze wspólnego łańcucha kluczy, który może być modyfikowany przez inne aplikacje i procesy. W przeciwieństwie do systemu iOS nie ma tu pęku kluczy w piaskownicy, do którego aplikacja ma domyślny dostęp. Gdy aplikacja na Maca wchodzi w interakcję z pękiem kluczy, system wyświetla użytkownikowi prośbę o dostęp, ponieważ aplikacja może modyfikować element pęku kluczy, którego nie utworzyła. Aby rozwiązać tę rozbieżność, Firebase wysyła do pęku kluczy zapytanie z kluczem kSecUseDataProtectionKeychain, który nakazuje aplikacji wyszukanie elementu pęku kluczy należącego do grupy dostępu do pęku kluczy (jest to domyślne zachowanie na innych platformach). Funkcja udostępniania pęku kluczy jest wymagana, ponieważ aplikacja potrzebuje jej do utworzenia grupy dostępu, którą można udostępniać między jej celami, co daje aplikacji uprawnienia do swobodnego dostępu do elementów pęku kluczy w grupie dostępu.
Więcej informacji znajdziesz w
dokumentacji Pęku kluczy
Apple.
Dlaczego w Xcode w wersji 13 i nowszych moje aplikacje UIKit nie mogą otwierać niektórych adresów URL zarejestrowanych
w pliku Info.plist?
Firma Apple wprowadziła limit 50 wpisów w plikach LSApplicationQueriesSchemes.Info.plist W 2015 r. firma Apple wprowadziła
LSApplicationQueriesSchemes, aby ograniczyć liczbę zapytań o adresy URL,
jakie może wysyłać każda aplikacja. W Xcode 13 te limity są egzekwowane, a w Xcode 12 i starszych wersjach nie było skutecznego limitu liczby schematów.
Niektóre usługi Firebase, takie jak Firebase Authentication i Firebase Dynamic Links, wymagają używania niestandardowych schematów adresów URL do przekierowywania do aplikacji. Te adresy URL są zgodne z zwięzłym i spójnym schematem adresów URL, który nie powinien znacząco wpływać na limit 50 schematów linków.
Pamiętaj, że w przypadku aplikacji, które nadal rejestrują więcej niż 50 LSApplicationQueriesSchemes, niektóre schematy będą cicho ignorowane. W zależności od kolejności dodawania aplikacji może nie być w stanie wykonać niektórych precyzyjnych linków.