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

Uygulamanızı Uygulama Kontrolü'ne kaydettikten sonra Uygulama Kontrolü'nün normalde geçerli olarak sınıflandıramadığı bir ortamda bulunması simülatör veya cihaz aracılığıyla ya da sürekli entegrasyon (CI) ortamı kullanarak uygulamanızın gerçek bir onay sağlayıcısı yerine Uygulama Kontrolü hata ayıklama sağlayıcısını kullanabilir.

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

Uygulamanızı etkileşimli olarak çalıştırırken hata ayıklama sağlayıcısını kullanmak için (örneğin, geliştirme sırasında) 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ı fabrika ayarlarına 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ü açın > Şema > Şemayı düzenleyin.
    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 şunu yapmaya çalıştığında günlüğe yerel bir hata ayıklama jetonu kaydedilir: arka uca istek gönderin. Örneğin:

    [Firebase/AppCheck][I-FAA001001] Firebase App Check Debug Token:
    123a4567-b89c-12d3-e456-789012345678
  4. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i seçin. taşma menüsü. Ardından, önceki girişte günlüğe kaydettiğiniz hata ayıklama jetonunu kaydedin adımına geçelim.

    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.

Çünkü bu jeton, Firebase kaynaklarınıza gizli tutmanız çok önemlidir. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.

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 takip etmek için:

  1. Uygulama Kontrolü bölümünde bölümünde, uygulamanızın ayarlarından Hata ayıklama jetonlarını yönet'i seçin. taşma menüsü. Ardından yeni bir hata ayıklama jetonu oluşturun. Belgenin bir sonraki adıma geçebiliriz.

    Çünkü bu jeton, Firebase kaynaklarınıza olması çok önemlidir. Bu nedenle, cihazı gizli tutmalısınız. Hiçbir zaman kayıtlı bir jetonun güvenliği ihlal edilirse bu kodu iptal edebilir Firebase konsolunda hemen kullanabilirsiniz.

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

  2. Oluşturduğunuz hata ayıklama jetonunu CI sisteminizin güvenli anahtar deposuna ekleyin (örneğin, GitHub İşlemleri'nin şifrelenmiş gizli anahtarları) ya da Travis CI'nın şifrelenmiş değişkenleri) kaldırın.

  3. Gerekirse hata ayıklama jetonunuzu kullanılabilir hale getirmek için CI sisteminizi yapılandırın içinde ortam değişkeni olarak kullanabilirsiniz. Değişkene ad verin APP_CHECK_DEBUG_TOKEN_FROM_CI gibi bir değerdir.

  4. Xcode'da şu adıyla test şemanıza bir ortam değişkeni ekleyin: FIRAAppCheckDebugToken ve $(APP_CHECK_DEBUG_TOKEN) gibi bir ifade: değer.

  5. CI test komut dosyanızı, hata ayıklama jetonunu ortam olarak geçirecek şekilde yapılandırma değişkenine eklenmelidir. Ö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 Uygulama Kontrolü hata ayıklama sağlayıcısını fabrika ayarlarına 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 şunları kabul eder: gönderdiği jetonun geçerli olarak kabul edilmesini sağlar.