Token Incompatibilidade usando Autenticação de Número de Telefone - iOS
Estou tentando fazer login na conta usando a autenticação de número de telefone usando o firebas
Inicialmente, implantei o aplicativo com o meu dispositivo e ele funciona bem. Mas quando tentei implantar o aplicativo em outro dispositivo e ele me lançou o erroToken Mismatch
.
Procurei várias respostas emstackoverflow
e então eu encontrei issorespond e eu segui, mas não funcionou para mim.
Verifiquei o seguinte:
Garantia que eu tinha um certificado APNS de desenvolvimento e produção válido carregado no Firebase Dashboard, em 'Configurações do projeto'> 'Cloud Messaging'. (Meu certificado APNS é válido até o próximo ano No Xcode, no arquivo .entitlements, verifique se o valor do Ambiente APS está definido como 'desenvolvimento' ou 'produção', dependendo da sua situação de teste. (Eu também verifiquei).Finalmente (isto é o que estava faltando), verifique dentro de seu AppDelegate.swift e dentro do método paradidRegisterForRemoteNotificationsWithDeviceToken
, altere o valor de.sandbox
para.prod
, ou para.unknown
para permitir que o pacote de aplicativos determine qual tipo de token usar, com base no seu perfil de provisionamentEste terceiro eu também mudei
let token = deviceToken.map { String(format: "%02.2hhx", $0) }.joined()
print("==== This is device token ",token)
let data = Data(token.utf8)
Auth.auth().setAPNSToken(data, type: AuthAPNSTokenType.unknown)
inda assim, quando executo este aplicativo em outro dispositivo, ele sempre me lança esse err
Mas quando eu comento esta linha de código// Auth.auth().setAPNSToken(data, type: AuthAPNSTokenType.unknown)
e, em seguida, executo o aplicativo e descomente essa linha de códigoAuth.auth().setAPNSToken(data, type: AuthAPNSTokenType.unknown)
e depois executo o aplicativo novamente e, finalmente, ele funciona. Mas, infelizmente, quando executo outro dispositivo iOS, ele ainda gera um erro. Eu quero saber porque