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

Uygulamanızı App Check için kaydettikten sonra, uygulamanızı normalde App Check tarafından geçerli olarak sınıflandırılmayacak bir ortamda (ör. geliştirme sırasında bir simülasyon aracı veya cihaz ya da sürekli entegrasyon (CI) ortamı) çalıştırmak istiyorsanız uygulamanızın gerçek bir onay sağlayıcı yerine App Check hata ayıklama sağlayıcısını kullanan bir hata ayıklama sürümünü oluşturabilirsiniz.

Geliştirme sırasında hata ayıklama sağlayıcısını kullanma

Uygulamanızı etkileşimli olarak çalıştırırken (ör. geliştirme sırasında) hata ayıklama sağlayıcısını kullanmak için aşağıdakileri yapın:

  1. Hata ayıklama derlemenizde, herhangi bir Firebase arka uç hizmetini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturun ve 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. Xcode projenizde hata ayıklama günlük kaydını etkinleştirin (v11.0 veya daha yeni sürümler):

    1. Product (Ürün) > Scheme (Şema) > Edit scheme (Şemayı düzenle)'yi açın.
    2. Soldaki menüden Run'ı (Çalıştır) ve ardından Arguments (Bağımsız değişkenler) sekmesini seçin.
    3. Arguments Passed on Launch (Başlatmada İletilen Parametreler) bölümüne -FIRDebugEnabled simgesini ekleyin.
  3. Uygulamayı başlatın. SDK, arka uca istek göndermeye çalıştığında yerel bir hata ayıklama jetonu kaydedilir. Örneğin:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase konsolunun App Check bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından, önceki adımda oturum açtığınız hata ayıklama jetonunu kaydedin.

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

Jetonu kaydettikten sonra Firebase arka uç hizmetleri bunu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiğinden gizli tutmanız çok önemlidir. Herkese açık bir depoya işlemeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolunda hemen iptal edin.

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

Hata ayıklama sağlayıcısını sürekli entegrasyon (CI) ortamında kullanmak için aşağıdakileri yapın:

  1. Firebase konsolunun App Check bölümünde, uygulamanızın taşma menüsünden Hata ayıklama jetonlarını yönet'i seçin. Ardından yeni bir hata ayıklama jetonu oluşturun. Sonraki adımda jetona ihtiyacınız olacak.

    Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişime izin verdiğinden gizli tutmanız çok önemlidir. Herkese açık bir depoya işlemeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolunda hemen iptal edin.

    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ş sırları veya Travis CI'ın şifrelenmiş değişkenleri).

  3. Gerekirse hata ayıklama jetonunuzu CI ortamında ortam değişkeni olarak kullanılabilir hale getirmek için CI sisteminizi yapılandırın. Değişkeni APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir adla adlandırın.

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

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

    xcodebuild test -scheme YourTestScheme -workspace YourProject.xcworkspace \
    APP_CHECK_DEBUG_TOKEN=$(APP_CHECK_DEBUG_TOKEN_FROM_CI)
  6. Hata ayıklama derlemenizde, herhangi bir Firebase arka uç hizmetini kullanmadan önce App Check hata ayıklama sağlayıcı fabrikasını oluşturun ve 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 Firebase arka uç hizmetleri, gönderdiği jetonu geçerli olarak kabul eder.