v2 of the module requires kotlinVersion of 1.3.50 or greater, and is confirmed working with 1.4.10 ("current stable" at the time this document was written on September 17, 2020)
All exports are now namespaced, so to migrate from v1 you need to alter your import statements and how you access the symbols.
import appleAuth, {
AppleButton,
AppleAuthRequestOperation,
AppleAuthRequestScope,
AppleAuthCredentialState,
AppleAuthError,
} from '@invertase/react-native-apple-authentication';
const onAppleButtonPress = async () => {
const appleAuthRequestResponse = await appleAuth.performRequest({
requestedOperation: AppleAuthRequestOperation.LOGIN,
requestedScopes: [AppleAuthRequestScope.EMAIL, AppleAuthRequestScope.FULL_NAME],
});
const credentialState = await appleAuth.getCredentialStateForUser(appleAuthRequestResponse.user);
if (credentialState === AppleAuthCredentialState.AUTHORIZED) {
// user is authenticated
}
// catch signIn errors
...
catch (error) {
if (error.code === AppleAuthError.CANCELED) // do something
}
...
}
import { appleAuth, AppleButton } from '@invertase/react-native-apple-authentication';
const onAppleButtonPress = async () => {
const appleAuthRequestResponse = await appleAuth.performRequest({
requestedOperation: appleAuth.Operation.LOGIN,
requestedScopes: [appleAuth.Scope.EMAIL, appleAuth.Scope.FULL_NAME],
});
const credentialState = await appleAuth.getCredentialStateForUser(appleAuthRequestResponse.user);
if (credentialState === appleAuth.State.AUTHORIZED) {
// user is authenticated
}
// catch signIn errors
...
catch (error) {
if (error.code === appleAuth.Error.CANCELED) // do something
}
...
}