Na tej stronie znajdziesz wskazówki i rozwiązania problemów z platformami Apple, które mogą wystąpić podczas korzystania z Firebase.
Masz inne problemy lub nie widzisz swojego problemu poniżej? Zapoznaj się z głównymi pytaniami dotyczącymi Firebase, aby znaleźć odpowiedzi na pytania dotyczące całej platformy Firebase lub poszczególnych usług.
Możesz też zajrzeć do repozytorium GitHub pakietu SDK Firebase na platformy Apple, gdzie znajdziesz aktualną listę zgłoszonych problemów i rozwiązań. Zachęcamy do zgłaszania tam również problemów związanych z pakietem SDK Firebase na platformy Apple.
Które wersje Xcode są obsługiwane przez Firebase?
Firebase obsługuje maksymalnie 2 wersje główne Xcode, z wyłączeniem wersji Xcode, które nie są już obsługiwane przez Apple. Na przykład od marca 2019 r. Apple wymagał, aby wszystkie aplikacje miały co najmniej system 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.
Pomoc 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 możliwości 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ą z udostępnionego pęku 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 Macu wchodzi w interakcję z pękiem kluczy, system wyświetla użytkownikowi prośbę o dostęp, ponieważ aplikacja na Macu może modyfikować element pęku kluczy, którego nie utworzyła. Aby rozwiązać tę rozbieżność, Firebase wysyła do łańcucha kluczy zapytanie z kluczem kSecUseDataProtectionKeychain, który nakazuje aplikacji wysłanie zapytania o element łańcucha kluczy należący do grupy dostępu do łańcucha 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 aplikacje UIKit nie mogą otwierać niektórych adresów URL
zarejestrowanych
w pliku Info.plist?
Firma Apple wprowadziła limit 50 wpisów LSApplicationQueriesSchemes w plikach Info.plist. W 2015 r. firma Apple wprowadziła LSApplicationQueriesSchemes, aby ograniczyć liczbę zapytań o adresy URL, które 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żywania niestandardowych schematów adresów URL do przekierowywania do aplikacji. Te adresy URL są zgodne z zwięzłym i spójnym schematem URI adresu URL, który nie powinien w znacznym stopniu wpływać na limit 50 systemów wymiany 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 linków bezpośrednich w zależności od kolejności, w jakiej zostały dodane.
Jakie informacje o oprogramowaniu open source należy umieścić w aplikacji?
W przypadku platform Apple pakiet SDK Firebase jest rozpowszechniany na licencji Apache 2.0.