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

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı Uygulama Kontrolü'nün normalde geçerli olarak sınıflandırılmayacağı bir ortamda (ör. geliştirme sırasında simülatör veya cihaz ya da sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz uygulamanızın, gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanan bir hata ayıklama derlemesi oluşturabilirsiniz.

Hata ayıklama sağlayıcısını geliştirme aşamasında kullanma

Uygulamanızı etkileşimli olarak çalıştırırken (örneğin, 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 Uygulama Kontrolü hata ayıklama sağlayıcısının 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. Xcode projenizde (v11.0 veya daha yeni bir sürüm) hata ayıklama günlüğünü etkinleştirin:

    1. Ürün > Şema > Şemayı düzenle'yi açın.
    2. Soldaki menüden Çalıştır'ı, ardından Bağımsız değişkenler sekmesini seçin.
    3. Lansmanda İletilen Bağımsız Değişkenler bölümüne -FIRDebugEnabled ekleyin.
  3. Uygulamayı başlatın. SDK arka uca istek göndermeye çalıştığında yerel bir hata ayıklama jetonu günlüğe kaydedilir. Örnek:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Firebase konsolunun Uygulama Kontrolü 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 günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin.

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

Jetonu kaydetmenizin ardından Firebase arka uç hizmetleri, jetonu geçerli olarak kabul eder.

Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişim olanağı sağladığı için bu jetonu gizli tutmanız son derece önemlidir. Bu kodu herkese açık bir depoya kaydetmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse jetonu Firebase konsolundan 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 Uygulama Kontrolü 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. Bir sonraki adımda jetona ihtiyacınız olacak.

    Bu jeton, geçerli bir cihaz olmadan Firebase kaynaklarınıza erişim sağladığından jetonları gizli tutmanız çok önemlidir. Bu kodu herkese açık bir depoya kaydetmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse jetonu Firebase konsolundan hemen iptal edin.

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

  2. Az önce oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna (örneğin, GitHub İşlemler'in şifrelenmiş gizli anahtarları veya Travis CI'nın şifrelenmiş değişkenleri) ekleyin.

  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 FIRAAppCheckDebugToken adında ve değer olarak $(APP_CHECK_DEBUG_TOKEN) gibi bir ortam değişkeni ekleyin.

  5. CI test komut dosyanızı, hata ayıklama jetonunu ortam değişkeni olarak geçirecek şekilde yapılandırın. Örnek:

    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 Uygulama Kontrolü hata ayıklama sağlayıcısının 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 CI ortamında çalıştığında Firebase arka uç hizmetleri, gönderdiği jetonu geçerli olarak kabul eder.