Korzystanie ze Sprawdzania aplikacji przy pomocy dostawcy debugowania na platformach Apple

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:

  1. 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];
  2. Włącz logowanie debugowania w projekcie Xcode (w wersji 11.0 lub nowszej):

    1. Otwórz Produkt > Schemat > Edytuj schemat.
    2. W menu po lewej stronie kliknij Uruchom, a potem wybierz kartę Argumenty.
    3. W sekcji Argumenty przekazane w momencie uruchomienia dodaj -FIRDebugEnabled.
  3. 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
  4. 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.

    Zrzut ekranu przedstawiający pozycję w menu Zarządzaj tokenami debugowania

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:

  1. 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.

    Zrzut ekranu przedstawiający pozycję w menu Zarządzaj tokenami debugowania

  2. Dodaj utworzony przed chwilą token debugowania do magazynu kluczy bezpiecznego systemu CI (np. zaszyfrowane obiekty tajne działań GitHub lub zaszyfrowane zmienne Travis CI).

  3. 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.

  4. W Xcode dodaj do schematu testowania zmienną środowiskową o nazwie FIRAAppCheckDebugToken i podobnej wartości $(APP_CHECK_DEBUG_TOKEN).

  5. 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)
  6. 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.