React-native-onesignal: React-nativo-onesignal e ios 13.1

Criado em 13 set. 2019  ·  12Comentários  ·  Fonte: OneSignal/react-native-onesignal

Descrição:

Estamos no processo de atualização do react-native-oneignal em um aplicativo - react-native é a versão 0.55.2. Resumindo, o problema é que tentamos atualizar o sdk react-native-onesignal (para 3.3.2 e 3.3.3) de acordo com o e-mail enviado em relação ao xcode 11 e iOS 13. No entanto, ao executar o aplicativo em um Dispositivo iOS 13.1 (iphone 7) (é construído e executado com xcode 11) o aplicativo é executado, ele recebe o pop-up pedindo permissão para enviar notificações push (e aceitamos), mas sempre obtemos o seguinte no console e o aplicativo venceu não se registre para notificações, pois o dispositivo não aparece no painel do Onesignal:

(Não sei como formatar o código, desculpe)

2019-09-13 14:30:11.707798+0200 app_name[3842:145178] { userSubscriptionEnabled: true, subscriptionEnabled: false, pushToken: '{length=32,bytes=0x0586c0fd0e74336ba3129ece2d44e089...8a9649cae8640ed7}', emailAddress: null, userId: null, hasPrompted: true, notificationsEnabled: false, emailUserId: null, emailSubscribed: false }

.....

2019-09-13 14:30:26.742281+0200 app_name[3842:145201] VERBOSE: HTTP Request (OSRequestRegisterUser) with URL: https://onesignal.com/api/v1/players, with parameters: { "app_id" : "app_id", "net_type" : 0, "test_type" : 1, "ios_bundle" : "dat1.videoplatform.ios.babyapp", "tags" : { "lang" : "da" }, "device_type" : 0, "sdk_type" : "react", "sdk" : "020904", "identifier" : "{length=32,bytes=0x0586c0fd0e74336ba3129ece2d44e089...8a9649cae8640ed7}", "language" : "da-DK", "device_os" : "13.1", "game_version" : "38", "timezone" : 7200, "ad_id" : "3A2693A5-32F0-474C-B4BD-5CC5F40B511A", "notification_types" : 31, "device_model" : "iPhone9,3", "carrier" : "Telenor DK" } 2019-09-13 14:30:26.960947+0200 app_name[3842:145202] VERBOSE: network response (OSRequestRegisterUser): { errors = ( "[\"Identifier invalid format.\"]" ); success = 0; } 2019-09-13 14:30:26.961717+0200 app_name[3842:144941] ERROR: Encountered error during push registration with OneSignal: Error Domain=OneSignalError Code=400 "(null)" UserInfo={returned={ errors = ( "[\"Identifier invalid format.\"]" ); success = 0; }}

Ambiente

Etapas para reproduzir o problema:

  1. Instale a versão 3.3.2 ou 3.3.3 do react-native-onesignal
  2. O SDK é inicializado em App.js
  3. Execute o aplicativo em um iphone 7 com iOS 13.1 e aceite notificações push no pop-up.

Algo mais:

Tentamos rodar em dispositivos iOS 12.4 com react-native-onesignal 3.2.4 (pré-atualização), 3.3.2 e 3.3.3, todos os quais funcionam lá. Ele usa o formato de identificador antigo conforme o esperado. Executamos a versão Live do aplicativo em um iOS 13.1 iphone 7 que funciona (pensamos que não deveria funcionar). Executamos o aplicativo atualizado com 3.3.2 e 3.3.3 que são executados no emulador perfeitamente. Ele consegue se conectar, mas não recebe o pop-up solicitando permissões de push conforme o esperado.

Vamos tentar ver se podemos pegar um dispositivo rodando iOS 13.0 e testar lá, já que o emulador é 13.0 e pode haver uma diferença daí para o 13.1.

Por enquanto, não podemos ir mais longe por conta própria e já passamos dias correndo em círculos.

Agradeço a ajuda!

Help Wanted iOS

Comentários muito úteis

@rgomezp Consegui fazer isso funcionar adicionando CoreGraphics.framework e WebKit.framework ao meu projeto OneSignalNotificationServiceExtension no XCode, conforme sugerido em # 861. Obrigado pela ajuda!

Todos 12 comentários

Enfrentando o mesmo problema, estamos no reagente nativo 0.59.10

Olá,
Acabamos de lançar a versão 3.4.1 que deve corrigir esse problema. Saúde!

Vou tentar e voltar com os resultados :)

@DanielMerbt Você fez isso funcionar no iOS 13.1? Você pode nos avisar. Obrigado!

Atualizamos para o SDK 3.4.1 e tentamos executar no simulador e no dispositivo ios 13.1 e recebemos um erro de compilação, portanto, não conseguimos ver se o problema original foi resolvido. Também mudamos para a versão do Xcode GM, mas o beta que usamos antes resultou exatamente no mesmo erro de compilação.

O novo erro que ocorre ao tentar executar no sim / dispositivo é:

Símbolos indefinidos para arquitetura x86_64:
"_OBJC_CLASS _ $ _ WKWebView", referenciado de:
objc-class-ref em libRCTOneSignal.a (OneSignal-x86_64-master.o)
"_OBJC_CLASS _ $ _ WKWebViewConfiguration", referenciado de:
objc-class-ref em libRCTOneSignal.a (OneSignal-x86_64-master.o)
ld: símbolo (s) não encontrado (s) para arquitetura x86_64
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)

Estou me perguntando o que mais foi alterado na atualização 3.4.1, já que não mudamos absolutamente nada, exceto a versão do SDK react-native-onesignal.

Estou tendo esse mesmo problema ao tentar construir com o SDK versão 3.4.1.
Screen Shot 2019-09-19 at 12 24 50 PM

Adicionamos duas novas estruturas que o XCode está tendo problemas para encontrar. Você pode tentar executar pod deintegrate && pod install do seu diretório ios?

@rgomezp Eu os executei e tentei construir novamente, e agora estou vendo a mesma saída acima.

Undefined symbols for architecture arm64:
  "_OBJC_CLASS_$_WKWebViewConfiguration", referenced from:
      objc-class-ref in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_OBJC_CLASS_$_WKWebView", referenced from:
      objc-class-ref in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_CGAffineTransformIdentity", referenced from:
      ___49-[OSInAppMessageViewController animateAppearance]_block_invoke in libRCTOneSignal.a(OneSignal-arm64-master.o)
  "_CGAffineTransformMakeScale", referenced from:
      -[OSInAppMessageViewController addConstraintsForMessage] in libRCTOneSignal.a(OneSignal-arm64-master.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Você pode tentar seguir estas instruções?

https://documentation.onesignal.com/docs/react-native-sdk-setup#section -manually-updates-ios-onesignalnativesdk

repositório nativo iOS: https://github.com/OneSignal/OneSignal-iOS-SDK

EDITAR: o pessoal resolveu isso adicionando as estruturas ausentes diretamente ao projeto (não cocoapods): https://github.com/geektimecoil/react-native-onesignal/issues/861

@rgomezp Consegui fazer isso funcionar adicionando CoreGraphics.framework e WebKit.framework ao meu projeto OneSignalNotificationServiceExtension no XCode, conforme sugerido em # 861. Obrigado pela ajuda!

Corrigido o problema adicionando o Webkit.framework manualmente. O aplicativo é executado e o sinal único funciona :)

Bom ouvir

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

mtt87 picture mtt87  ·  3Comentários

andrewworld picture andrewworld  ·  3Comentários

bitcoinvsalts picture bitcoinvsalts  ·  5Comentários

furkancelik picture furkancelik  ·  4Comentários

ccstorch picture ccstorch  ·  4Comentários