Jelajahi Sumber

[AppCheck][WIP] Add isSupported to providers

Added an isSupported method to the FIRAppCheckProvider protocol. This would allow developers to easily check if a provider is supported on the device/OS and to fallback to other providers if it's not available.
Andrew Heard 3 tahun lalu
induk
melakukan
fb94763ddc

+ 4 - 0
FirebaseAppCheck/Sources/AppAttestProvider/FIRAppAttestProvider.m

@@ -185,6 +185,10 @@ NS_ASSUME_NONNULL_BEGIN
       });
 }
 
+- (BOOL)isSupported {
+  return self.appAttestService.isSupported;
+}
+
 - (FBLPromise<FIRAppCheckToken *> *)getToken {
   return [FBLPromise onQueue:self.queue
                           do:^id _Nullable {

+ 5 - 0
FirebaseAppCheck/Sources/Public/FirebaseAppCheck/FIRAppCheckProvider.h

@@ -32,6 +32,11 @@ NS_SWIFT_NAME(AppCheckProvider)
     (void (^)(FIRAppCheckToken *_Nullable token, NSError *_Nullable error))handler
     NS_SWIFT_NAME(getToken(completion:));
 
+// Maybe this could be static. With DeviceCheck and App Attest we could check if it's supported
+// without instantiating a FIRAppAttestProvider but this may not be universally true (e.g., custom
+// providers).
+- (BOOL)isSupported NS_SWIFT_NAME(supported());
+
 @end
 
 NS_ASSUME_NONNULL_END