Używanie Sprawdzania aplikacji z dostawcą debugowania na platformach Apple

Gdy włączysz App Check w przypadku usługi backendowej, funkcje aplikacji, które zależą od tej usługi, nie będą działać w symulatorze ani w środowisku ciągłej integracji (CI), ponieważ te środowiska nie kwalifikują się jako prawidłowe urządzenia. Aby uruchomić aplikację w tych środowiskach podczas programowania i testowania, musisz utworzyć kompilację debugowania aplikacji, która używa App Check dostawcy debugowania zamiast dostawcy atestów produkcyjnych.

Używanie dostawcy debugowania w symulatorze

Oto jak używać dostawcy debugowania podczas interaktywnego uruchamiania aplikacji w symulatorze (np. podczas lokalnego programowania):

  1. W kompilacji debugowania przed użyciem jakichkolwiek usług backendowych Firebase utwórz i ustaw App Check fabrykę dostawcy debugowania:

    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. Uzyskaj token debugowania:

    1. Uruchom aplikację w symulatorze lub na urządzeniu testowym.

    2. Otwórz konsolę Xcode i poszukaj tokena debugowania App Check. Przykład:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Skopiuj token (np. 123a4567-b89c-12d3-e456-789012345678).

  3. Zarejestruj token debugowania w App Check:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Weryfikacja aplikacji > Aplikacje.

    2. Znajdź swoją aplikację, kliknij menu z 3 kropkami (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. Aby zarejestrować token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    Zrzut ekranu z pozycją menu Zarządzaj tokenami debugowania w konsoli Firebase

Gdy zarejestrujesz token w App Check, usługi backendowe będą go akceptować jako prawidłowy.

Ten token umożliwia dostęp do usług backendowych bez prawidłowego urządzenia, dlatego musisz go chronić. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj go do kompilacji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie naruszony, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.

Używanie dostawcy debugowania w środowisku CI

Oto jak używać dostawcy debugowania do testów jednostkowych w środowisku ciągłej integracji (CI):

  1. Utwórz token debugowania w konsoli Firebase:

    1. W konsoli Firebase otwórz kartę Zabezpieczenia > Weryfikacja aplikacji > Aplikacje.

    2. Znajdź swoją aplikację, kliknij menu z 3 kropkami (), a następnie wybierz Zarządzaj tokenami debugowania.

    3. Aby utworzyć nowy token debugowania, postępuj zgodnie z instrukcjami wyświetlanymi na ekranie.

    Ten token umożliwia dostęp do usług backendowych bez prawidłowego urządzenia, dlatego musisz go chronić. Nie przesyłaj go do publicznego repozytorium ani nie dołączaj go do kompilacji produkcyjnych aplikacji. Jeśli zarejestrowany token zostanie naruszony, natychmiast usuń go za pomocą opcji Zarządzaj tokenami debugowania w konsoli Firebase.

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

  2. Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowanych tajnych danych GitHub Actions lub zaszyfrowanych zmiennych Travis CI ).

  3. W razie potrzeby skonfiguruj system CI tak, aby token debugowania był dostępny w środowisku CI jako zmienna środowiskowa. Nazwij zmienną np. APP_CHECK_DEBUG_TOKEN_FROM_CI.

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

  5. Skonfiguruj skrypt testowy CI tak, aby przekazywał token debugowania jako zmienną środowiskową. Przykład:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. W kompilacji debugowania przed użyciem jakichkolwiek usług backendowych Firebase utwórz i ustaw App Check fabrykę dostawcy debugowania:

    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 aplikacja jest uruchamiana w środowisku CI, usługi backendowe akceptują wysyłany przez nią token jako prawidłowy.