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

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra, uygulamanızı normalde Uygulama Kontrolü'nün geçerli olarak sınıflandıramayacağı bir ortamda (örneğin, geliştirme sırasında simülatör veya cihaz ya da sürekli entegrasyon (CI) ortamından) çalıştırmak isterseniz 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

Hata ayıklama sağlayıcısını, uygulamanızı etkileşimli olarak çalıştırırken (örneğin, geliştirme sırasında) 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ı 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 (v11.0 veya daha yeni bir sürüm) hata ayıklama günlük kaydını etkinleştirin:

    1. Ürün > Şema > Şemayı düzenle'yi açın.
    2. Soldaki menüden Çalıştır'ı ve ardından Bağımsız değişkenler sekmesini seçin.
    3. Lansmanda Aktarılan Bağımsız Değişkenler bölümüne -FIRDebugEnabled ekleyin.
  3. Uygulamayı başlatın. SDK, arka uca bir 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 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şmenizi sağladığı için jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolunda jetonu 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 olacaktır.

    Bu jeton geçerli bir cihaz olmadan Firebase kaynaklarınıza erişmenizi sağladığı için jetonu gizli tutmanız çok önemlidir. Jetonu herkese açık bir depoya kaydetmeyin ve kayıtlı bir jetonun güvenliği ihlal edilirse Firebase konsolunda jetonu 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 (örneğin, GitHub Actions'ın şifrelenmiş gizli anahtarları veya Travis CI'nın şifrelenmiş değişkenleri).

  3. Gerekirse CI sisteminizi, hata ayıklama jetonunuzu CI ortamı içinde bir 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ını 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 iletecek ş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ı 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ıştığında, Firebase arka uç hizmetleri geçerli olarak gönderdiği jetonu kabul eder.