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

Jeśli po zarejestrowaniu aplikacji w usłudze App Check chcesz uruchomić ją w środowisku, które App Check normalnie nie uzna za prawidłowe, np. w symulatorze lub na urządzeniu podczas tworzenia lub w środowisku ciągłej integracji (CI), możesz utworzyć wersję debugowania aplikacji, która używa dostawcy debugowania App Check zamiast prawdziwego dostawcy uwierzytelniania.

Używanie dostawcy debugowania w trakcie opracowywania

Aby korzystać z usługi debugowania podczas uruchamiania aplikacji w trybie interaktywnym (np. podczas tworzenia aplikacji), wykonaj te czynności:

  1. W wersji debugowania, zanim zaczniesz używać usług backendu Firebase, utwórz i skonfiguruj fabrykę dostawców debugowania App Check:

    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 debugowanie w projekcie Xcode (w wersji 11.0 lub nowszej):

    1. Kliknij Produkt > Schemat > Edytuj schemat.
    2. W menu po lewej stronie kliknij Uruchom i wybierz kartę Argumenty.
    3. W sekcji Argumenty przekazywane podczas uruchamiania 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 App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie zarejestruj token debugowania zapisany w poprzednim kroku.

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

Po zarejestrowaniu tokena usługi backendowe Firebase uznają go za prawidłowy.

Token ten umożliwia dostęp do zasobów Firebase bez prawidłowego urządzenia, dlatego należy zadbać o ich prywatność. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go 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 App Check konsoli Firebase kliknij Zarządzaj tokenami debugowania w menu aplikacji. Następnie utwórz nowy token debugowania. Token będzie potrzebny w następnym kroku.

    Ponieważ ten token umożliwia dostęp do Twoich zasobów Firebase bez prawidłowego urządzenia, musisz zachować go w prywatności. Nie publikuj go w publicznych repozytoriach. Jeśli zarejestrowany token zostanie skompromitowany, natychmiast cofnij go w konsoli Firebase.

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

  2. Dodaj utworzony token debugowania do bezpiecznego magazynu kluczy systemu CI (np. zaszyfrowane sekrety w GitHub Actions lub zaszyfrowane zmienne w Travis CI).

  3. W razie potrzeby skonfiguruj system CI, aby udostępnić token debugowania w środowisku CI jako zmienną środowiskową. Nadaj zmiennej nazwę, np. APP_CHECK_DEBUG_TOKEN_FROM_CI.

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

  5. Skonfiguruj skrypt testowy CI tak, 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. W wersji debugowania, zanim zaczniesz używać usług backendu Firebase, utwórz i skonfiguruj fabrykę dostawców debugowania App Check:

    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 działa w środowisku CI, usługi backendowe Firebase uznają wysłany token za prawidłowy.