Jeśli po zarejestrowaniu aplikacji w Sprawdzaniu aplikacji chcesz ją uruchomić w środowisku, którego Sprawdzanie aplikacji normalnie nie zostałoby sklasyfikowane jako prawidłowe, np. w ramach symulatora lub urządzenia w trakcie tworzenia albo w środowisku ciągłej integracji (CI), możesz utworzyć kompilację do debugowania aplikacji, która będzie korzystać z dostawcy debugowania Sprawdzania aplikacji zamiast rzeczywistego dostawcy atestu.
Korzystanie z dostawcy debugowania w trakcie opracowywania
Aby korzystać z dostawcy debugowania podczas interaktywnego uruchamiania aplikacji (np. w trakcie tworzenia aplikacji), wykonaj te czynności:
Przed użyciem usług backendu Firebase w kompilacji do debugowania utwórz i skonfiguruj fabrykę dostawcy debugowania funkcji Sprawdzanie aplikacji:
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
Włącz logowanie debugowania w projekcie Xcode (w wersji 11.0 lub nowszej):
- Otwórz Produkt > Schemat > Edytuj schemat.
- W menu po lewej stronie kliknij Uruchom, a potem wybierz kartę Argumenty.
- W sekcji Argumenty przekazane w momencie uruchomienia dodaj
-FIRDebugEnabled
.
Uruchom aplikację. Gdy pakiet SDK spróbuje wysłać żądanie do backendu, zostanie zarejestrowany lokalny token debugowania. Przykład:
[Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token: 123a4567-b89c-12d3-e456-789012345678
W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz w rozszerzonym menu aplikacji Zarządzaj tokenami debugowania. Następnie zarejestruj token debugowania zapisany w poprzednim kroku.
Po zarejestrowaniu tokena usługi backendu Firebase zaakceptują go jako prawidłowy.
Ponieważ umożliwia on dostęp do zasobów Firebase bez dostępu do ważnego urządzenia, ważne jest, aby zadbać o jego prywatność. Nie przekazuj go w repozytorium, a jeśli dojdzie do naruszenia zabezpieczeń, unieważnij token natychmiast w konsoli Firebase.
Korzystanie z dostawcy debugowania w środowisku CI
Aby użyć dostawcy debugowania w środowisku ciągłej integracji (CI), wykonaj te czynności:
W sekcji Sprawdzanie aplikacji w konsoli Firebase wybierz w rozszerzonym menu aplikacji Zarządzaj tokenami debugowania. Następnie utwórz nowy token debugowania. Będzie on potrzebny w następnym kroku.
Ponieważ umożliwia on dostęp do zasobów Firebase bez prawidłowego urządzenia, musisz zadbać o prywatność. Nie przekazuj go w repozytorium, a jeśli dojdzie do naruszenia zabezpieczeń, unieważnij token natychmiast w konsoli Firebase.
Dodaj utworzony przed chwilą token debugowania do magazynu kluczy bezpiecznego systemu CI (np. zaszyfrowane obiekty tajne działań GitHub lub zaszyfrowane zmienne Travis CI).
W razie potrzeby skonfiguruj swój system CI tak, aby token debugowania był dostępny w środowisku CI jako zmienna środowiskowa. Nadaj tej zmiennej nazwę np.
APP_CHECK_DEBUG_TOKEN_FROM_CI
.W Xcode dodaj do schematu testowania zmienną środowiskową o nazwie
FIRAAppCheckDebugToken
i podobnej wartości$(APP_CHECK_DEBUG_TOKEN)
.Skonfiguruj skrypt testowy CI w taki sposób, aby przekazywał token debugowania jako zmienną środowiskową. Przykład:
xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \ APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
Przed użyciem usług backendu Firebase w kompilacji do debugowania utwórz i skonfiguruj fabrykę dostawcy debugowania funkcji Sprawdzanie aplikacji:
Swift
let providerFactory = AppCheckDebugProviderFactory() AppCheck.setAppCheckProviderFactory(providerFactory) FirebaseApp.configure()
Objective-C
FIRAppCheckDebugProviderFactory *providerFactory = [[FIRAppCheckDebugProviderFactory alloc] init]; [FIRAppCheck setAppCheckProviderFactory:providerFactory]; // Use Firebase library to configure APIs [FIRApp configure];
Gdy Twoja aplikacja działa w środowisku CI, usługi backendu Firebase będą akceptować token przesłany jako prawidłowy.