diff --git a/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.h b/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.h index 16e3aca6..e8836927 100644 --- a/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.h +++ b/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.h @@ -24,11 +24,11 @@ @interface RNAppleAuthASAuthorizationDelegates : NSObject @property(nonatomic, strong, nullable) NSString *nonce; -@property(nonatomic, strong, nullable) void (^completion)(NSError *, NSDictionary *); +@property(nonatomic, strong, nullable) void (^completion)(NSError *_Nullable, NSDictionary *_Nullable); -- (instancetype)initWithCompletion:(void (^)(NSError *error, NSDictionary *authorizationCredential))completion andNonce:(NSString *)nonce; +- (instancetype _Nullable )initWithCompletion:(void (^_Nonnull)(NSError * _Nullable error, NSDictionary * _Nullable authorizationCredential))completion andNonce:(NSString *_Nullable)nonce; -- (void)performRequestsForAuthorizationController:(ASAuthorizationController *)authorizationController; +- (void)performRequestsForAuthorizationController:(ASAuthorizationController *_Nonnull)authorizationController; @end diff --git a/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.m b/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.m index d309135e..5e8940e1 100644 --- a/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.m +++ b/ios/RNAppleAuthentication/RNAppleAuthASAuthorizationDelegates.m @@ -27,7 +27,7 @@ @implementation RNAppleAuthASAuthorizationDelegates -- (instancetype)initWithCompletion:(void (^)(NSError *error, NSDictionary *authorizationCredential))completion andNonce:(NSString *)nonce { +- (instancetype)initWithCompletion:(nonnull void (^)(NSError *error, NSDictionary *authorizationCredential))completion andNonce:(NSString *)nonce { if (self = [super init]) { _completion = completion; _nonce = nonce; @@ -54,6 +54,9 @@ - (ASPresentationAnchor)presentationAnchorForAuthorizationController:(ASAuthoriz } return window; #else + // I believe the vision OS one above is actually the best way to handle the deprecation: + // Apple Auth not supported until iOS13 anyway, so the solution above should be using avaliable APIs (13+) + // iPadOS optimal solution also relies on using activation state vs just using last connected Scene return [[UIApplication sharedApplication] keyWindow]; #endif #endif @@ -70,7 +73,7 @@ - (void)authorizationController:(ASAuthorizationController *)controller didCompl - (void)authorizationController:(ASAuthorizationController *)controller didCompleteWithError:(NSError *)error { NSLog(@"RNAppleAuth -> didCompleteWithError"); - NSLog(error.localizedDescription); + NSLog(@"%@", error.localizedDescription); _completion(error, nil); _completion = nil; } diff --git a/ios/RNAppleAuthentication/RNAppleAuthModule.m b/ios/RNAppleAuthentication/RNAppleAuthModule.m index dfcaf34d..ef27401c 100644 --- a/ios/RNAppleAuthentication/RNAppleAuthModule.m +++ b/ios/RNAppleAuthentication/RNAppleAuthModule.m @@ -39,9 +39,17 @@ + (BOOL)requiresMainQueueSetup { } - (NSDictionary *)constantsToExport { + bool supported = false; + if (@available(iOS 13.0, macOS 10.15, *)) { + supported = true; + } + bool signUpButtonSupported = false; + if (@available(iOS 13.2, macOS 10.15.1, *)) { + signUpButtonSupported = true; + } return @{ - @"isSupported": @available(iOS 13.0, macOS 10.15, *) ? @(YES) : @(NO), - @"isSignUpButtonSupported": @available(iOS 13.2, macOS 10.15.1, *) ? @(YES) : @(NO), + @"isSupported": @(supported), + @"isSignUpButtonSupported": @(signUpButtonSupported), }; }