Na tej stronie znajdziesz wskazówki i sposoby rozwiązywania problemów z platformą Apple, które możesz napotkać podczas korzystania z Firebase.
Masz inny problem lub nie widzisz go poniżej? Więcej odpowiedzi na najczęstsze pytania dotyczące Pan Firebase i konkretnych usług znajdziesz w głównych odpowiedziach na najczęstsze pytania na temat Firebase.
Możesz też zajrzeć do repozytorium GitHub SDK platformy Firebase Apple, w którym znajdziesz aktualną listę zgłoszonych problemów i sposobów ich rozwiązania. Zachęcamy też do zgłaszania problemów związanych z pakietem SDK platform Firebase Apple.
Jakie wersje Xcode obsługuje Firebase?
Firebase obsługuje do 2 głównych wersji Xcode, nie uwzględniając wersji Xcode, których Apple już nie obsługuje. Na przykład od marca 2019 r. firma Apple wymagała we wszystkich aplikacjach co najmniej iOS 12, co oznacza, że wycofaliśmy obsługę Xcode 9, a Xcode 10 był jedyną obsługiwaną wersją główną.
Zmiany dotyczące obsługi określonych wersji podrzędnych lub poprawek Xcode (np. od 9.2.0 do 9.4.1) są określane na podstawie potrzeb związanych z pakietem SDK Firebase Apple oraz od ankiety użytkowania platformy przez deweloperów. Te zmiany są odzwierciedlone w informacjach o wersji pakietu SDK platform Firebase Apple oraz na stronie konfiguracji pakietu SDK platformy Firebase Apple.
Aby sprawdzić minimalną wersję Xcode obsługiwaną przez pakiet SDK, sprawdź wymagania wymienione w sekcji Dodawanie Firebase do projektu Apple.
Obsługa wersji beta Xcode w Firebase jest dostępna w ramach najlepszych możliwości. Deweloperzy mogą śledzić i przesyłać błędy w repozytorium SDK platform Firebase Apple na GitHubie.
Moja aplikacja prosi użytkownika o podanie hasła, aby uzyskać dostęp do pęku kluczy w systemie macOS. Jak to naprawić?
Uaktualnij zależność Firebase do wersji 9.6.0 lub nowszej i dodaj do wartości docelowej [możliwość 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ą pęku kluczy do przechowywania informacji, takich jak identyfikator instalacji Firebase używany na potrzeby 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 używają udostępnionego pęku kluczy, który może być modyfikowany przez inne aplikacje i procesy. W przeciwieństwie do iOS nie ma pęku kluczy w piaskownicy, do którego aplikacja ma domyślny dostęp. Kiedy więc aplikacja na Maca wchodzi w interakcję z pękiem kluczy, system prosi użytkownika o dostęp, ponieważ może modyfikować element pęku kluczy, który nie został utworzony przez siebie. Aby rozwiązać tę rozbieżność, Firebase wysyła zapytanie do pęku kluczy za pomocą klucza kSecUseDataProtectionKeychain
. Informuje on aplikację, aby wysłał zapytanie dotyczące elementu pęku kluczy, który należy do grupy dostępu do pęku kluczy (na innych platformach jest to domyślne działanie). Funkcja udostępniania pęku kluczy jest wymagana, ponieważ aplikacja wymaga jej do syntetyzowania grupy dostępu, która może być współdzielona przez grupy docelowe, co pozwala aplikacji na swobodny dostęp do elementów pęku kluczy w grupie dostępu.
Więcej informacji znajdziesz w
dokumentacji pęku kluczy
firmy Apple.
Dlaczego w Xcode w wersji 13 i nowszych aplikacje UIKit nie mogą otwierać niektórych adresów URL zarejestrowanych
na mojej liście Info.plist?
Firma Apple wprowadziła limit 50 wpisów LSApplicationQueriesSchemes
w plikach Info.plist
. W 2015 r. firma Apple wprowadziła funkcję LSApplicationQueriesSchemes
, aby ograniczyć liczbę zapytań dotyczących adresu URL, które mogą być wykonywane przez każdą aplikację. Po opublikowaniu Xcode 13 limity te są egzekwowane, podczas gdy w Xcode 12 i starszych wersjach nie ma rzeczywistego limitu liczby schematów.
Niektóre usługi Firebase, np. Uwierzytelnianie Firebase i Linki dynamiczne Firebase, wymagają użycia niestandardowych schematów adresów URL, aby przekierowywać użytkowników do aplikacji. Te adresy URL są zgodne ze zwięzłym i spójnym schematem adresów URL, który nie powinien wliczać się aż do limitu 50 schematów linków.
Pamiętaj, że w przypadku aplikacji, które nadal rejestrują ponad 50 elementów LSApplicationQueriesSchemes
, niektóre schematy są dyskretnie ignorowane. Aplikacja może nie być w stanie uruchomić niektórych precyzyjnych linków w zależności od kolejności ich dodania.