Na tej stronie znajdziesz wskazówki i rozwiązania problemów związanych z platformą Apple, które mogą wystąpić podczas korzystania z Firebase.
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 zobaczyć aktualną listę zgłoszonych problemów i rozwiązań. 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 zapytanie do pęku kluczy za pomocą klucza kSecUseDataProtectionKeychain, który informuje aplikację, że ma wysłać zapytanie do elementu pęku kluczy będącego częścią 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
firmy 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 r. firma Apple wprowadziła LSApplicationQueriesSchemes, aby ograniczyć liczbę zapytań o adres 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 produkty 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.