Pergunta

Eu estou trabalhando na adição de compras In-App para meu aplicativo.

Eu sou capaz de receber a productsRequest:didReceiveResponse o método, e receber a variedade de produtos.

O meu problema surge quando eu adicionar um SKPayment para o SKPaymentQueue.Depois de eu adicionar o produto para a fila, no paymentQueue:updatedTransactions método de transações ter sempre estado SKPaymentTransactionStateFailed.

Eu NSLog a "transação.erro" e isso é o que retorna:Erro Domínio=SKErrorDomain Código=0 UserInfo=0x165000 "não é Possível conectar-se iTunes Store"

Eu tenho a sessão da Loja no aplicativo Configurações, mas depois de tentar comprar um produto no meu app, ele nunca me pede para fazer o login na minha conta de teste.Ele só falha com o erro acima.

Foi útil?

Solução

Suponho que você fez as verificações de sanidade padrão: checando seu código, confirmando seus IDs de produto, comparando seu código com o guia de programação de compras no aplicativo, etc.

Isso pode ser ridículo, mas - se você tiver certeza de que seu código está correto - faça uma redefinição dura (limpeza completa) do seu iPod (Configurações => general => Redefinir => Apague todos os conteúdos e configurações). Fiquei intrigado com esse problema exato por horas - acabou que meu código estava correto e a redefinição difícil foi a solução.

Outras dicas

eu estava conseguindo SKPaymentTransactionStateFailed Código de erro 0 "Não é possível conectar ao Itunes Store"E obrigado a Thomax para esta resposta Meu problema está resolvido. Acontece que você Deve inserir um número de compilação em Targets-> Resumo.

Passei as últimas 24 horas redefinindo meu telefone, estragando -se com o iTunes Connect e fazendo praticamente tudo o que eu conseguia pensar antes de tropeçar nessa solução.

SKPaymentTransactionStateFailed code 0 Cannot connect to iTunes Store

SKPaymentTransactionStateFailed code 0 Cannot connect to iTunes Store

Acho que encontrei o "bug".

Eu só estou interessado na data - não as horas, então quando eu salvo a data, eu tomo o valor assim a partir do setor: "DataLement.DateValue.Date"

Mais tarde, quando eu quero editar a data, atribuo para ex "2012-03-18 00:00:00" para o elemento de data. Quando obtenho esse valor de volta, foi convertido da CET para UTC de alguma forma, o que significa que recebo a data anterior: - (

Então eu acho que tenho que converter de volta ao horário local

Este erro (ou seja, "Erro! Não é possível conectar ao iTunes Store") pode ocorrer se você fizer uma caixa de areia na compra de aplicativos, mas estiver assinada usando sua conta Apple normal.

Acho que ajuda a evitar qualquer confusão se eu saio da minha conta da Apple antes de fazer alguma compra de aplicativos. Em seguida, na caixa de diálogo "Assinar", escolha a opção "Use a opção Apple ID existente e insira os detalhes do usuário do teste.

Lembre -se de que isso será definido em suas configurações, para que você precise sair depois de terminar as compras de aplicativos.

Além disso, o uso de um ID da Apple diferente redefine várias configurações relacionadas ao iTunes, como o iTunes corresponde.

Você pode verificar se o link a seguir está funcionando ou temporizando:

https://sandbox.itunes.apple.com/verifyreceipt

Como alternativa, uma maneira não científica, mas bastante confiável, de verificar se a caixa de areia está funcionando é perguntar em:

https://devforums.apple.com/community/ios/connected/purchase

Se a caixa de areia estiver baixa, provavelmente haverá pessoas já falando sobre isso, como agora (18 de janeiro de 2012, 18:40 Hora da UTC).

Eu também estava enfrentando o mesmo erro. Eu descobri que o erro só vem no simulador, quando mudei para a depuração do dispositivo, o erro não apareceu.

Simplesmente faça logoff de sua conta na AppStore configurações...

Resolveu o problema para mim porque o meu dispositivo foi conectado usando o meu regulares Apple ID e porque as compras no caixa de areia são sempre feito com o teste de IDENTIFICAÇÃO de usuário, o dispositivo foi tentando enviar minhas regular Loja da Apple ID para o "teste" da App Store, resultando em que este "não é Possível Conectar-se a iTunes Store" de erro.

Esta é a causa mais comum que eu já vi na minha dispositivo.

Apoio com o mesmo problema, redefino meu dispositivo, verifiquei os identificadores, reinstalei o aplicativo. Também pensei que o problema era, porque eu havia mudado a referência e a descrição dos produtos. Na realidade, sinto que é porque meu usuário de teste ficou bloqueado como várias pessoas onde o uso da mesma conta e é uma possibilidade que a validação de senha falhasse várias vezes. Por isso, recriei outro usuário de teste e a compra no aplicativo está de volta a trabalhar. Espero que isto ajude. Fiquei totalmente perplexo com esse erro.

Certifique-se de que o seu BundleIDs jogo.Esse foi o meu problema.

Mesmo uma restauração completa não resolveu esse problema para mim.

Depois de ligar addPayment Para um identificador de produto de renovação automática, cerca de um segundo foi aprovado antes de receber o erro "SkerRordomain Code = 0" do StoreKit. Em nenhum momento eu foi solicitado (como A documentação da Apple sugere que se deve ser) para um nome de usuário e senha da loja do iTunes; A transação simplesmente falhou.

Para resolver isso, tive que adicionar um produto "consumível" falso ao iTunes Connect and Lall addPayment Usando o identificador de produto da Fake Consumable. Isso fez com que a caixa de diálogo da loja do iTunes aparecesse. Em seguida, conectei -me a uma conta de teste que criei no iTunes Connect. Isso foi bem -sucedido: meu aplicativo foi notificado de que o consumível havia sido comprado.

Depois de ter feito isso, pude ligar addPayment com meu identificador de produto de renovação automática e compre a assinatura normalmente.

certifique-se de que você está testando, com caixa de areia contas de usuário criadas a partir de itunesconnect e não do seu próprio id apple para a sua conta pessoal ao testar este material.

Eu pensei que vale a pena mencionar que a solução de Donnalea de fazer login apenas quando solicitada para pagamento também funcionou para o mesmo problema com o plugin StoreKit da Unity e do Prime31. A tentativa de fazer login no mesmo menu de configurações que você usa para fazer o logon solicitará todos os tipos de cobrança detalhes do endereço, que parecem "quebrar" permanentemente essa conta de teste.

Eu me encontrei nessa situação quando estava trabalhando para adicionar compras no aplicativo e não o fiz exatamente da primeira vez. No meu caso, tive um erro no PHP do lado do servidor e, como resultado, acho que não estava chegando a "Tincular Transaction:". Mesmo depois de resolver os problemas (coloquei o programa em um dispositivo separado e comprei com sucesso), fiquei recebendo "Você já comprou isso, clique para baixar" seguido por "Não é possível conectar ao iTunes Store".

Finalmente consegui parar de fazer isso lançando o jogo a partir do Springboard (não Xcode). Ele imediatamente processou a transação com sucesso e parou de me levar a RedOwnload.

Este é basicamente um sistema de equações lineares simultâneas .Você pode resolvê-lo usando eliminação gaussiana .

Quanto à matriz "divisão", o que você realmente tem em mente é um matriz inversa ,ou seja, uma matriz um -1 tal que

aa -1 = a -1 a= i

onde eu é o Matrix de identidade .Se A é invertível, um * c= b é equivalente a c= a -1 b.

Eu tive o mesmo problema, antes de tudo que não criei uma conta de teste, então criei através da obtenção de ajuda deste linkhttps://developer.apple.com/library/ios/documentation/languagesutils/conceptual/itunesconect_guide/chapters/settingupuseraccounts.html#/pple_ref/doc/uid/tp40011225-ch25-sw10

Então você precisa sair da sua conta corrente no seu dispositivo. e compra compra, solicitará a conta de usuário e digite a conta de teste.

Eu tive este mesmo problema.Eu já tinha criado uma conta de utilizador de teste, e saiu da itunes store esperando para ser avisado com um sinal em minha conta de usuário de teste, quando eu fiz a compra app.em vez disso, eu comecei a não pode se conectar ao itunes store mensagem.quando assinei com o meu real itunes nome de usuário/senha e tentei o meu aplicativo de teste funcionou perfeitamente.Eu, em seguida, a sessão na itunes store novamente e meu aplicativo funcionou muito bem, me preparando para o meu id/pw

Eu tive o mesmo erro, mas o problema não era exatamente o mesmo. Talvez seja útil para alguém:

Inseri um arquivo externo na estrutura do meu aplicativo. A razão pela qual fiz isso é porque, na produção, insiro esse arquivo dinâmico de um servidor, mas no desenvolvimento, pensei que era mais rápido usar um aplicativo chamado iexplorer para colar esse arquivo. Eu fiz isso é o passado e não tive esse problema. Mas nos últimos dias, se eu colar esse arquivo diretamente usando o iExplorer, meu aplicativo retornará o erro: "Não é possível conectar ao iTunes Store". (em espanhol: "sem conttarse de pude, uma loja do iTunes").

Eu acho que é porque desta vez inseri o arquivo dentro da pasta .App. Portanto, isso me faz pensar que, se você modificar sua pasta .App de alguma forma, a empresa de design quebra e o link com a loja do iTunes para de funcionar diretamente.

Para mim, o problema foi corrigido enviando um binário. Como essa resposta não foi dada nesta página, o que parece estar entre os principais sucessos do Google, pensei em adicioná -la.

nslog não está funcionando porque quando você inicia um processo de demônio, ele não possui nenhum padrão de io padrão ou alças de arquivo conectadas a ele.Eles precisam ser especificamente alocados.Um bom recurso para como criar um daemon adequado e como escrever o console e o syslog é fornecido no livro "Avançado Mac OS X Programming (Capítulo 20) por Dalrymple & Hillegass.

Eles definem um programa de esqueleto que aborda os problemas do IO que você destaca.Lembrei-me de ler há um tempo atrás e pensei que talvez algum dia eu precise.Os autores mostram uma amostra usando o syslog.h lib usando o openlog () e syslog () para comunicações simples.Eles também mostram alguns outros métodos de nível inferior para comunicação para arquivos e até mesmo soquetes (para servidores, etc).

Eu sempre aprecio quando alguém pode me dizer como fazer algo em vez de referência alguma coisa, mas neste caso, isso é o melhor que posso fazer.boa sorte.

Verifique se você está assinado na sua conta pessoal do iTunes na AppStore. Se você estiver, receberá esta mensagem. Mesmo se você estiver assinado na sua conta de sandbox no aplicativo. Portanto, para resolver esse problema, assine sua conta pessoal na App Store e tente comprar seu item no aplicativo e use sua conta de sandbox. Isso resolveu meu problema.

Bem, como de costume, "tentei todas as soluções disponíveis e não ajudou" :) Então, aqui está minha opinião para esta coleção ilimitada de pedras de tropeço:

Se o aplicativo não estiver atualmente à venda (por qualquer motivo), esse erro ocorre.

Recebi o mesmo erro, quando liguei SKProductsRequest's start Método no meu teste Env, ele foi executado- (void)request:(SKRequest *)request didFailWithError:(NSError *)error

Quando liguei na minha produção Env, está correto e corri- (void)productsRequest:(SKProductsRequest *)request didReceiveResponse:(SKProductsResponse *)response

Perto charles Ou qualquer software proxy HTTP o mais rápido possível! Perto charles Ou qualquer software proxy HTTP o mais rápido possível! Perto charles Ou qualquer software proxy HTTP o mais rápido possível!

Você sabe disso ~

Eu tive o mesmo problema, mas resolvi pelo seguinte modo:
- Eu estava usando o emulador do iPhone 5s com iOS 8.4 (Este é o mais importante. A Apple Store Connection não está funcionando no emulador iOS 11)
- No emulador, liguei a seguinte configuração: Configurações/Desenvolvedor/Permitir Serviços HTTP (isso é para conexão com a Internet)
- temporariamente desligei o Avast Antivirus Web Shield (isso também é para conexão à Internet)

o FAQ de compra no aplicativo tem essa informação:

Não é possível conectar ao Itunes Store

O problema "não pode se conectar ao armazenamento do iTunes" pode ser devido a um ou mais dos seguintes motivos:

  • A caixa de areia pode ser inacessível.
  • Seu aplicativo não possui uma versão de pacote (CFBNEDLEVERSION). Consulte Configurando o número da versão e construa string para obter mais informações.
  • Seu aplicativo está em execução no simulador, que não suporta compra no aplicativo.
  • Você está tentando comprar um produto que não está disponível para venda. Consulte Consulta a App Store para obter informações sobre o produto antes de apresentar a interface do usuário da loja do aplicativo para obter mais informações.

No meu caso, o erro ocorreu porque eu estava usando o simulador.

Mesmo no Guia de programação de compras no aplicativo diz para usar o dispositivo iOS de desenvolvimento tem um Etapa de teste sugerida.

Como documentação da Apple:

Não é possível conectar ao iTunes armazenar o problema "Não é possível conectar ao iTunes Store" pode ser devido a um ou mais dos seguintes motivos:

  1. A caixa de areia pode ser inacessível.
  2. Seu aplicativo não possui uma versão de pacote (CFBNEDLEVERSION). Consulte Configurando o número da versão e construa string para obter mais informações.
  3. Seu aplicativo está em execução no simulador, que não suporta compra no aplicativo.
  4. Você está tentando comprar um produto que não está disponível para venda. Consulte Consulta a App Store para obter informações sobre o produto antes de apresentar a interface do usuário da loja do aplicativo para obter mais informações.

https://developer.apple.com/library/content/technotes/tn2413/_index.html

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top