preso com conta sandbox

votos
3

Eu criei uma conta de teste para verificar nas compras de aplicativos. Eu poderia comprar ea compra foi bem sucedida. Depois que eu encontrei um bug na navegação. Eu fixo um bug, criou outra conta e excluiu a conta que eu logado sessão anterior. Agora eu não posso testar o nas compras de aplicativos mais, uma vez que me registrar a loja de aplicativos automaticamente com uma conta fantasma que já não existe. Eu estou solicitado a digitar uma senha única, apesar de que antes de cada sessão de depuração eu sair da loja em Configurações e excluir a versão anterior do aplicativo. Como faço para redefinir isso?

Obrigado,

Nava

Publicado 23/01/2010 em 22:50
fonte usuário
Em outras línguas...                            


3 respostas

votos
1

Eu sei que este é um tema antigo, mas I teve problemas para encontrar uma solução e passou por algumas tentativas de entorpecimento mental e erro até que eu descobri uma solução, então eu pensei que eu iria partilhá-la aqui desde que eu era incapaz de encontrá-lo em qualquer outro lugar.

Primeiro, certifique-se após cada transação que você ligue para:

    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];

O que aconteceu no meu caso é que uma transação não foi terminado e ficou na fila por isso mesmo quando eu mudei para uma conta de sandbox diferente ele ainda continuou a pedir a senha do meu velho conta.

Para corrigi-lo, acrescentei:

SKPaymentQueue *queue = [SKPaymentQueue defaultQueue];
for (SKPaymentTransaction *transaction in queue.transactions) {
    [[SKPaymentQueue defaultQueue] finishTransaction:transaction];
}

ANTES eu adicionei o observador transação, ou seja, o seguinte:

[[SKPaymentQueue defaultQueue] addTransactionObserver:self];

Além disso, no

(void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions

função, eu adicionei esta linha de código:

[queue finishTransaction:transaction];

nos casos SKPaymentTransactionStateRestored e SKPaymentTransactionStateFailed da instrução switch. Não adicioná-lo ao estado de compra porque você não tem permissão para chamar acabamento em que, pelo que eu sei.

Eu não tenho certeza qual dos dois passos acima reparou o erro porque ele persistiu até eu assinei fora do meu iPhone, excluiu o aplicativo, alimentado-lo para baixo, e se reconstruir uma limpo / instalar o que ele finalmente parou de me pedir a senha para a conta grampeado. Espero que isso ajude alguém.

EDIT: (11/12/15)

Então eu descobri a causa da quebra contas sandbox. Foi o que aconteceu após a restauração compras, em seguida, apertar a tecla casa, reabertura e apertar o botão de restaurar novamente, o que causou um acidente. A restauração ficou na fila e o processo acima era a única maneira de sair dos popups pedindo a senha.

A fim de parar com isso, acrescentei:

[[SKPaymentQueue defaultQueue] removeTransactionObserver:self];

para por função tearDown (chamado por applicationDidEnterBackground :) do meu principal controlador de vista antes de eu nil'd minha in-app objeto do gerenciador de compra. Acho que o que estava acontecendo é que eu adicionei o objeto como um observador transação mais de uma vez e foi causando o comportamento estranho. Desde a aparência dele, este parece ter corrigido o problema inteiramente, porque eu não tenho sido capaz de recriar o erro novamente.

Respondeu 11/11/2014 em 01:09
fonte usuário

votos
0

Eu tive o mesmo problema. Isto é o que resolveu o meu problema:

  1. Configurações -> Reset -> Redefinir Todos os Ajustes
  2. Configurações -> iTunes & App Store -> Sair
  3. Excluir o aplicativo
  4. Reinicie o aplicativo de XCode

ATUALIZAÇÃO : Eu percebi que o problema era que eu não tinha essa linha no meu código:

[[SKPaymentQueue defaultQueue] finishTransaction:tran];

Isso significa que o meu velho transação não foi concluída e que o iPhone estava tentando finalizar transações antigas que aconteceram antes. Quando eu adicionei essa linha para o meu código, a antiga solicitação de senha de usuário não está acontecendo mais.

Respondeu 17/12/2013 em 18:05
fonte usuário

votos
0

Então quer dizer que mesmo se você ir para a App Settings -> Loja -> Sair, você ainda obter o nome de usuário da conta de teste anterior? Você também tentar excluir o aplicativo do seu dispositivo? Que fixa um problema semelhante para mim.

Respondeu 13/08/2010 em 16:30
fonte usuário

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more