Я использовал пакет sign_in_with_apple: ^4.3.0 для входа в AppleID, это последняя версия для входа в AppleID.
Я не смог найти никакой документации, как использовать эту версию без примера кода пакета. ссылаясь на этот пример, я попробовал код
Future<void> signInWithApple() async {
try {
final credential = await SignInWithApple.getAppleIDCredential(
scopes: [
AppleIDAuthorizationScopes.email,
AppleIDAuthorizationScopes.fullName,
]);
// Get the OAuth token and ID Token
final AuthCredential authCredential =
OAuthProvider("apple.com").credential(
accessToken: String.fromCharCodes(credential.authorizationCode),
idToken: String.fromCharCodes(credential.identityToken));
// Signing in to firebase user instance
final UserCredential userCredential =
await FirebaseAuth.instance.signInWithCredential(authCredential);
// Update the user properties in the provider
_email = userCredential.user?.email;
_uid = userCredential.user?.uid;
_displayName = userCredential.user?.displayName;
notifyListeners();
} catch (e) {
// Handle the error
print(e);
_hasError = true;
_errorCode = e.toString();
notifyListeners();
}
}
в этом коде показывают эти ошибки..
как устранить эти ошибки и войти в приложение с помощью AppleID
Вы не можете использовать String.fromCharCodes
для строкового значения, также credential.authorizationCode
и credential.identityToken
являются строковыми значениями, поэтому вам не нужно их преобразовывать.
Попробуйте заменить это
OAuthProvider("apple.com").credential(
accessToken: String.fromCharCodes(credential.authorizationCode),
idToken: String.fromCharCodes(credential.identityToken));
с этим
OAuthProvider("apple.com").credential(
accessToken: credential.authorizationCode,
idToken: credential.identityToken);