Apple platformlarında hata ayıklama sağlayıcısıyla Uygulama Kontrolü'nü kullanma

App Check bir arka uç hizmeti için zorunlu kılındıktan sonra uygulamanızın bu arka uç hizmetine bağlı özellikleri, geçerli cihaz olarak kabul edilmedikleri için simülatörde veya sürekli entegrasyon (CI) ortamında çalışmaz. Uygulamanızı geliştirme ve test aşamalarında bu ortamlarda çalıştırmak için üretim onaylama sağlayıcısı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturmanız gerekir.

silin.

Simülatörde hata ayıklama sağlayıcısını kullanma

Uygulamanızı bir simülatörde etkileşimli olarak çalıştırırken (örneğin, yerel geliştirme sırasında) hata ayıklama sağlayıcısını şu şekilde kullanabilirsiniz:

  1. Hata ayıklama derlemenizde, Firebase arka uç hizmetlerini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturup ayarlayın:

    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. Hata ayıklama jetonunuzu alın:

    1. Uygulamanızı simülatörde veya test cihazınızda başlatın.

    2. Xcode konsolunu açın ve App Check hata ayıklama jetonunu bulun. Örneğin:

      <Warning> [AppCheckCore][I-GAC004001] App Check debug token: '123a4567-b89c-12d3-e456-789012345678'.
      
    3. Jetonu (ör. 123a4567-b89c-12d3-e456-789012345678) kopyalayın.

  3. Hata ayıklama jetonunuzu App Check ile kaydedin:

    1. Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, üç noktalı taşma menüsünü () tıklayın ve ardından Hata ayıklama jetonlarını yönet'i seçin.

    3. Hata ayıklama jetonunuzu kaydetmek için ekrandaki talimatları uygulayın.

    Firebase konsolundaki Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

Jetonu App Check ile kaydettikten sonra arka uç hizmetleriniz jetonu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişim sağlar. Bu nedenle, jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase Console'da Hata ayıklama jetonlarını yönet'i kullanarak jetonu hemen silin.

CI ortamında hata ayıklama sağlayıcısını kullanma

Sürekli entegrasyon (CI) ortamında birim testi için hata ayıklama sağlayıcısını şu şekilde kullanabilirsiniz:

  1. Firebase konsolunda bir hata ayıklama jetonu oluşturun:

    1. Firebase konsolunda Güvenlik > Uygulama Kontrolü > Uygulamalar sekmesine gidin.

    2. Uygulamanızı bulun, üç noktalı taşma menüsünü () tıklayın ve ardından Hata ayıklama jetonlarını yönet'i seçin.

    3. Yeni bir hata ayıklama jetonu oluşturmak için ekrandaki talimatları uygulayın.

    Bu jeton, geçerli bir cihaz olmadan arka uç hizmetlerinize erişim sağlar. Bu nedenle, jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin veya uygulamanızın üretim derlemelerinde göndermeyin. Kayıtlı bir jetonun güvenliği ihlal edilirse Firebase Console'da Hata ayıklama jetonlarını yönet'i kullanarak jetonu hemen silin.

    Hata Ayıklama Jetonlarını Yönet menü öğesinin ekran görüntüsü

  2. Yeni oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (ör. GitHub Actions'ın şifrelenmiş gizli anahtarları veya Travis CI'ın şifrelenmiş değişkenleri).

  3. Gerekirse CI sisteminizi, hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanılabilir hale getirecek şekilde yapılandırın. Değişkene APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir ad verin.

  4. Xcode'da, test şemanıza AppCheckDebugToken adında ve $(APP_CHECK_DEBUG_TOKEN) gibi bir değer içeren bir ortam değişkeni ekleyin.

  5. CI test komut dosyanızı, hata ayıklama jetonunu bir ortam değişkeni olarak iletecek şekilde yapılandırın. Örneğin:

    xcodebuild test -scheme YOUR_TEST_SCHEME -workspace YOUR_PROJECT.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Hata ayıklama derlemenizde, Firebase arka uç hizmetlerini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturup ayarlayın:

    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];

Uygulamanız bir CI ortamında çalışırken arka uç hizmetleriniz, gönderdiği jetonu geçerli olarak kabul eder.