Na tej stronie znajdziesz wskazówki i rozwiązania problemów związanych z platformami Apple, które mogą wystąpić podczas korzystania z Firebase.
Masz inne problemy lub nie widzisz swojego problemu poniżej? Więcej informacji na temat Firebase i poszczególnych usług 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 wersji pakietu Firebase SDK na platformy Apple i na stronie konfiguracji pakietu Firebase SDK 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.
Wsparcie Firebase dla wersji beta Xcode jest dostępne w miarę możliwości. 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 łańcucha 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 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 prosi użytkownika 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 Apple dotyczącej pęku kluczy
.
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 roku firma Apple wprowadziła
LSApplicationQueriesSchemes
, aby ograniczyć liczbę zapytań URL,
jakie może wysyłać każda aplikacja. W Xcode 13 te limity są egzekwowane, natomiast 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życia niestandardowych schematów adresów URL do przekierowywania do aplikacji. Te adresy URL są zgodne z zwięzłym i spójnym schematem, który nie powinien w znacznym stopniu 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. Aplikacja może nie być w stanie wykonać niektórych precyzyjnych linków w zależności od kolejności, w jakiej zostały dodane.