Na tej stronie znajdziesz wskazówki i rozwiązania problemów, które mogą wystąpić podczas korzystania z Firebase na platformie Apple.
Masz inne problemy lub nie widzisz swojego problemu na liście poniżej? Więcej najczęstszych pytań dotyczących Firebase lub konkretnych usług znajdziesz w głównym artykule z najczęstszymi pytaniami na temat Firebase.
Możesz też sprawdzić repozytorium GitHub pakietu SDK Firebase na platformy Apple, aby uzyskać aktualną listę zgłoszonych problemów i sposobów ich rozwiązywania. Zachęcamy do zgłaszania tam również własnych problemów związanych z pakietem SDK Firebase na platformy Apple.
Moja aplikacja prosi użytkownika o hasło, aby uzyskać dostęp 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 celu [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ą pęku kluczy do przechowywania informacji takich jak identyfikator instalacji Firebase używany przez 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. Dlatego 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ć ten problem, Firebase wysyła do pęku kluczy zapytanie z kluczem kSecUseDataProtectionKeychain, które informuje aplikację, że ma wysłać zapytanie do elementu pęku kluczy należącego do grupy dostępu do pęku kluczy (jest to działanie domyślne na innych platformach). Funkcja udostępniania pęku kluczy jest wymagana, ponieważ aplikacja potrzebuje jej do syntezy grupy dostępu, którą można udostępniać między jej elementami docelowymi, 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 LSApplicationQueriesSchemes w plikach Info.plist. W 2015 roku firma Apple wprowadziła 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, podczas gdy w Xcode 12 i starszych wersjach nie było żadnego limitu liczby schematów.
Niektóre usługi Firebase, takie jak Firebase Authentication i Firebase Dynamic Links, wymagają użycia niestandardowych schematów URI adresu URL do przekierowywania do aplikacji. Te adresy URL są zgodne ze zwięzłym i spójnym schematem URI adresu URL, który nie powinien znacząco wpływać na limit 50 schematów URI adresu URL.
Pamiętaj, że w przypadku aplikacji, które nadal rejestrują więcej niż 50 LSApplicationQueriesSchemes, niektóre schematy będą ignorowane bez powiadomienia. 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.
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.