2.4.9
0,59,5
iOS
Compilações de aplicativos
O aplicativo não compila
Emulador
Apenas react-native run-ios com as versões acima de react-native-iap e React native
Este é o erro exato que recebo:
/node_modules/react-native-iap/ios/RNIapIos.m:167:5: unknown type name 'SKPaymentDiscount'; did you mean 'SKProductDiscount'?
Tentei renomear SKPaymentDiscount para SKProductDiscount apenas para ver e estava recebendo erros diferentes.
Deixe-me saber se você tiver alguma dúvida.
Eu ainda não testei isso na versão ios
recente. Eu sinto que houve mudanças na versão mais recente. Você poderia nos dar um PR
se possível?
@hyochan eu ficaria feliz, mas não tenho 100% de certeza de como faria isso. Você pode me orientar na criação de um PR para vocês? não sei qual seria a correção
@ndejesus1227 Você acha que encontrou a solução para esse problema?
@hyochan não, eu não tenho. Fiz tentativas de corrigi-lo, mas só conheço JavaScript. Eu teria que encontrar alguém para ajudar que conhecesse o iOS nativo muito melhor do que eu
@ndejesus1227 Na verdade, esse recurso foi implementado por @renatoalencar em #455. Eu não posso ajudar isso mais no momento.
Obrigado, @hyochan.
@renatoalencar em qual versão do react native você está rodando? Não tenho certeza se devo fazer o downgrade do react-native-iap ou do RN por enquanto
Olá @ndejesus1227 , é por minha conta, desculpe. O que realmente está acontecendo é que sua versão do iOS está abaixo de 12.2. Como a documentação da Apple descreve, o SKPaymentDiscount
está disponível apenas para iOS 12.2+.
Eu deveria verificar a versão real do iOS, mas acabei esquecendo.
@renatoalencar ah, tudo bem. Isso faz sentido. Você tem alguma ideia de quando você pode fazer uma correção para isso? Você pode levar o seu tempo, apenas curioso
Farei o downgrade para uma versão antes desta atualização até que isso seja resolvido @hyochan @renatoalencar
estou tendo esse problema também na versão 2.4.11
. A única versão que funcionou antes de @hyochan fazer alterações é 2.4.8
Obrigado pela explicação @ggdegreat , então vou para 2.4.8 !
Eu estava tendo o mesmo problema e posso confirmar que 2.4.8 corrige o problema. Obrigado pela ajuda!
Portanto, o pacote não será compatível com ios
abaixo de 12 de 2.4.9
. Atualizei o readme para migração .
O pagamento com o Apple Pay (e sem pop-up) vai funcionar?
Precisamos manter a sincronização de ambas as versões se quisermos usar na biblioteca de produção.
Não podemos escolher entre a versão > 12 ou a versão < 12 para negócios!
Provavelmente há algo que eu não entendo! Obrigado pelo seu trabalho @hyochan !
Eu tive o mesmo problema - agora resolvido. Por mais de um ano eu não abri o Xcode. Agora peguei meu iphone 6s e atualizei para o firmware 12.3.1; meu mac ainda estava em 'Sierra', então minha instalação do Xcode não era compatível com o ios mais recente. Ao tentar executar o código no iphone conectado ao macbook, recebi essas mensagens. Então a solução:
---> agora tudo funciona
Portanto, o aplicativo que usa esta biblioteca não funcionará quando executado no iOS <12.2 ?
Será a partir de 3.0.0
Obrigado, vai ficar em 2.4.8 até 3.0.0 ser lançado
@DataGreed Acaba de lançar 3.0.0
agora.
@hyochan ainda podemos ver o problema com SKPaymentDiscount na v3.0.0.
Há algo que estamos perdendo? acabamos de atualizar a versão em package.json, instalamos e limpamos/compilamos o aplicativo em xcode. O erro ainda aparece.
@danidfm Qual é o seu alvo de construção em ios
? Além disso, tente remover totalmente node_modules
antes npm install
build target é 11.0 e removemos completamente a pasta node_modules.
mesmo problema comigo - tentei 3.0.0, mas voltei para 2.4.8
(a propósito, antes disso eu tentei as versões 3.0.0 RC e ainda recebi o mesmo erro)
Vocês poderiam testar o projeto IamExample
e ver a diferença com o seu projeto? Eu quero ser claro ao olhar para os mesmos códigos.
Olá @ndejesus1227 , é por minha conta, desculpe. O que realmente está acontecendo é que sua versão do iOS está abaixo de 12.2. Como a documentação da Apple descreve, o
SKPaymentDiscount
está disponível apenas para iOS 12.2+.Eu deveria verificar a versão real do iOS, mas acabei esquecendo.
Eu só quero dizer que ele literalmente enviou que deveria verificar a versão e evitar esse problema, mas ele esqueceu. Seu pull request nunca deveria ter sido mesclado no master
Tentando executar o projeto no Xcode para meu iPhone com iOS v12.3.1
Mesmo erro, usando react-native-iap v3.2.2.
Indo para 2.4.8 (compilação bem-sucedida)
Acho que o motivo é a versão do iOS instalada no dispositivo
Isso é muito estranho, porque alguns deles já confirmaram que a compilação está ok (eu também). Se você estiver tendo problemas para atualizar, tente remover ios/build
e tente novamente.
Acabei de tentar construir agora. Verifique IapExample
.
@hyochan obrigado por seu grande apoio!
Acabei de tentar todas as dicas mencionadas neste problema (node_modules completamente removido antes da instalação do npm, aplicativo limpo, ios/build removido). Infelizmente, ainda estou recebendo esse problema em combinação com o build target 11.2 e react-native-iap v3.2.2. Eu também tentei fazer o downgrade para v2.4.8, o que leva a uma compilação bem-sucedida. Além disso, tentei configurar o IapExample, mas acabei neste problema react-native (https://github.com/facebook/react-native/issues/25252)
Estou tendo o mesmo problema em um iMac com macOS 10.13. Meu macbook rodando 10.15 está funcionando bem,
Talvez a versão mais antiga do mac não esteja funcionando? 🤔
@murilobast diferentes versões do xCode?
Verifique o bloco de código de erro da versão #if __IPHONE_12_2
e reconstrua
`#if __IPHONE_12_2
SKPaymentDiscount *discount = [[SKPaymentDiscount alloc]
initWithIdentifier:discountOffer[@"identifier"]
keyIdentifier:discountOffer[@"keyIdentifier"]
nonce:[[NSUUID alloc] initWithUUIDString:discountOffer[@"nonce"]]
signature:discountOffer[@"signature"]
timestamp:discountOffer[@"timestamp"]
];
SKMutablePayment *payment = [SKMutablePayment paymentWithProduct:product];
payment.applicationUsername = usernameHash;
payment.paymentDiscount = discount;
[[SKPaymentQueue defaultQueue] addPayment:payment];
[self addPromiseForKey:RCTKeyForInstance(payment.productIdentifier) resolve:resolve reject:reject];
#endif `
assim
Eu estava me deparando com esse problema. Atualizar meu xcode de 10.1 para 10.2.1 corrigiu meu problema. Eu sou capaz de construir meu projeto agora.
Mesmo problema com o Xcode 10.1, não consigo atualizar o XCode para 10.2 porque ele precisa do OSX 10.14.3, não suportado pelo meu antigo iMac travado em 10.13.6.
@lc3t35 , como você construiu o projeto iOS com o Xcode 10.1?
@liudmyla-schastlyvets Não consigo construir com 10.1, tive que usar outro computador com a versão mais recente do Xcode :(
reagir-nativo: 0,59,0
react-native- iap:2.4.8
Código X: 10.1
Projeto Construído com Sucesso. Obrigado
Sim eu também ! excelente trabalho dos mantenedores!
Comentários muito úteis
estou tendo esse problema também na versão
2.4.11
. A única versão que funcionou antes de @hyochan fazer alterações é2.4.8