Na tej stronie znajdziesz wskazówki i informacje o rozwiązywaniu problemów z Firebase, które mogą wystąpić na platformach Apple.
Masz inne problemy lub nie widzisz swojego problemu poniżej? Zapoznaj się z
głównymi najczęstszymi pytaniami dotyczącymi Firebase lub
najczęstszymi pytaniami dotyczącymi konkretnego produktu.
Możesz też sprawdzić
repozytorium GitHub pakietu SDK Firebase na platformy Apple
aby uzyskać aktualną listę zgłoszonych problemów i rozwiązań. Zachęcamy do zgłaszania tam 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 wyłączeniem wersji
Xcode, które nie są już obsługiwane przez Apple. Na przykład od marca 2019 r.
Apple wymagało, aby wszystkie aplikacje miały co najmniej iOS 12, co oznaczało, że obsługa Xcode 9 została
wycofana, a Xcode 10 było jedyną obsługiwaną wersją główną.
Zmiany w obsłudze konkretnych wersji Xcode
(np. 9.2.0 do 9.4.1) są określane na podstawie potrzeb
pakietu SDK Firebase na platformy Apple i ankiety dotyczącej korzystania z niego przez deweloperów. Te zmiany
są odzwierciedlone w
informacjach o wersji pakietu SDK Firebase na platformy Apple
oraz na stronie konfiguracji pakietu SDK Firebase na platformy Apple.
Aby sprawdzić minimalną wersję Xcode obsługiwaną przez pakiet SDK, zapoznaj się z wymaganiami wymienionymi w artykule Dodawanie Firebase do projektu Apple.
Obsługa Firebase w przypadku wersji beta Xcode jest dostępna 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 hasło, aby uzyskać dostęp do elementów pęku kluczy w macOS. Jak to naprawić?
Zaktualizuj zależność Firebase do wersji 9.6.0 lub nowszej i dodaj do swojego celu
[możliwość udostępniania pęku kluczy](/docs/ios/troubleshooting-faq#macos-keychain-sharing)
.
Dlaczego Firebase wymaga możliwości udostępniania pęku kluczy w macOS?
Pakiety SDK Firebase używają pęku 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 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 niejawny dostęp. Gdy aplikacja na Maca wchodzi w interakcję z pękiem kluczy, system
prosi użytkownika o dostęp, ponieważ aplikacja na Maca może modyfikować element pęku kluczy
który nie został przez nią utworzony. Aby rozwiązać tę niezgodność, Firebase wysyła zapytanie do
pęku kluczy za pomocą klucza kSecUseDataProtectionKeychain, który informuje
aplikację, aby wysłała zapytanie do elementu pęku kluczy należącego do grupy dostępu do pęku kluczy
(jest to domyślne zachowanie na innych platformach). Możliwość udostępniania pęku kluczy
jest wymagana, ponieważ aplikacja potrzebuje jej do syntezy grupy dostępu, która może być
udostępniana 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?
Apple wprowadziło limit 50 LSApplicationQueriesSchemes
wpisów w Info.plist plikach. W 2015 r. Apple wprowadziło
LSApplicationQueriesSchemes aby ograniczyć liczbę zapytań o adresy URL
które może wysyłać każda aplikacja. Wraz z wydaniem 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życia niestandardowych schematów adresów URL do przekierowania do aplikacji. Te adresy URL są zgodne z zwięzłym i spójnym schematem URI adresu URL, który nie powinien znacząco przekraczać limitu 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ą
ignorowane. W zależności od kolejności dodawania aplikacja może nie być w stanie wykonywać niektórych precyzyjnych linków,
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.