React-native-onesignal: OneSignalNotificationServiceExtension provoque des problèmes de génération d'application partagée

Créé le 10 sept. 2019  ·  12Commentaires  ·  Source: OneSignal/react-native-onesignal

La description:
L'ajout de la cible OneSignalNotificationServiceExtension empêche mon application de créer, car elle ne peut pas utiliser certaines choses dans les extensions d'application... dans ce cas, l'erreur concerne spécifiquement l'application partagée (elle apparaît en fait comme un problème dans RCTRedBox.m) . L'application se construit bien, même avec react-native-onesignal, jusqu'à ce que j'ajoute l'extension.

Environnement
réagir-natif-un-signal: 3.3.3
natif réactif : 0,59,9

SDK ajouté via fil, puis lien react-native react-native-onesignal

Étapes pour reproduire le problème :

Je n'ai pas eu le temps d'essayer de reproduire dans une autre application que la mienne... Sur mon application (donc vraisemblablement d'autres ?) :

Installer le SDK via le fil
Paquet de lien
pod installer
Ajoutez l'extension en suivant les instructions de https://documentation.onesignal.com/docs/react-native-sdk-setup#section -usage
Tenter de construire

Rien d'autre:

Tout dans le descriptif

Need More Information

Commentaire le plus utile

J'ai rencontré exactement le même problème et, comme @indapublic , j'avais incorrectement ajouté l'extension à mon fichier Podfile. Je voulais juste ajouter un peu de clarté.

Ce problème survient lorsque vous ajoutez la cible du service dans la cible de votre application.

C'est faux:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

C'est correct:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
 end
 target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
 end

Cet extrait doit être sa propre cible de niveau supérieur et non une sous-cible de votre application.

Une fois corrigé, exécutez à nouveau pod install .

Tous les 12 commentaires

Pourriez-vous s'il vous plaît inclure l'erreur complète? Ou une capture d'écran ?

Mise à jour : nous avons publié la version 3.4.0 qui devrait résoudre ce problème. Sinon, commentez et je rouvrirai. À votre santé

Salut, @rgomezp . J'ai cette erreur avec 3.4.1 pour le moment.

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42 : 'sharedApplication' n'est pas disponible : non disponible sur iOS (App Extension) - Utilisez plutôt des solutions basées sur le contrôleur de vue, le cas échéant.

Je ne sais pas si cela s'applique à votre bibliothèque, mais je vous informerai

Donc.

  1. Le projet sans OneSignalNotificationServiceExtension est construit avec succès.
  2. Ajout de OneSignalNotificationServiceExtension avec le contenu par défaut (sans les importations Onesignal)
  3. Ajout de Onesignal au fichier pod :
target 'OneSignalNotificationServiceExtension' do
  pod 'OneSignal', '>= 2.9.3', '< 3.0'
end

et lancé pod install

  1. Ensuite, essayez de construire un projet et nous recevrons :

node_modules/react-native/React/DevSupport/RCTDevLoadingView.m:77:42 : 'sharedApplication' n'est pas disponible : non disponible sur iOS (App Extension) - Utilisez plutôt des solutions basées sur le contrôleur de vue, le cas échéant.

System:
    OS: macOS 10.14.6
    CPU: (6) x64 Intel(R) Core(TM) i5-8500B CPU @ 3.00GHz
    Memory: 11.75 GB / 32.00 GB
    Shell: 5.3 - /bin/zsh
  Binaries:
    Node: 10.16.1 - ~/.nvm/versions/node/v10.16.1/bin/node
    Yarn: 1.17.3 - /usr/local/bin/yarn
    npm: 6.9.0 - ~/.nvm/versions/node/v10.16.1/bin/npm
  SDKs:
    iOS SDK:
      Platforms: iOS 13.0, DriverKit 19.0, macOS 10.15, tvOS 13.0, watchOS 6.0
    Android SDK:
      API Levels: 23, 25, 27, 28, 29
      Build Tools: 25.0.2, 25.0.3, 28.0.3, 29.0.1, 29.0.2
      System Images: android-28 | Google APIs Intel x86 Atom, android-29 | Google APIs Intel x86 Atom
  IDEs:
    Android Studio: 3.5 AI-191.8026.42.35.5791312
    Xcode: 11.0/11A419c - /usr/bin/xcodebuild
  npmPackages:
    react: 16.8.6 => 16.8.6
    react-native: 0.60.5 => 0.60.5

@indapublic ,
Jetez un œil à ce débordement de pile qui peut vous aider. Si l'une des solutions proposées fonctionne pour vous, veuillez commenter ici afin que nous puissions fermer le ticket et aider toute autre personne susceptible de rencontrer le problème :
https://stackoverflow.com/questions/34225213/uiapplication-sharedapplication-not-available
ou
https://stackoverflow.com/questions/32031071/error-sharedapplication-is-unavailable-not-available-on-ios-app-extension

Merci @rgomezp. J'ai trouvé que mon podfile était faux. J'ai déplacé la cible "OneSignalNotificationServiceExtension" dans la mauvaise section hier. Tout fonctionne bien. Merci et désolé. je peux clore ce sujet

@indapublic ,
Pourriez-vous montrer à quoi ressemblait votre fichier pod lorsqu'il ne fonctionnait pas ? Cela aidera les gens à l'avenir s'ils font la même erreur

target 'app' do
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

Je n'ai pas encore beaucoup d'expérience avec les cocopodes, je pensais que les extensions dépendaient de l'application

J'ai rencontré exactement le même problème et, comme @indapublic , j'avais incorrectement ajouté l'extension à mon fichier Podfile. Je voulais juste ajouter un peu de clarté.

Ce problème survient lorsque vous ajoutez la cible du service dans la cible de votre application.

C'est faux:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
  target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
  end
end

C'est correct:

target 'app' do
  rn_path = '../node_modules/react-native'
  ....
 end
 target 'OneSignalNotificationServiceExtension' do
    pod 'OneSignal', '>= 2.9.3', '< 3.0'
 end

Cet extrait doit être sa propre cible de niveau supérieur et non une sous-cible de votre application.

Une fois corrigé, exécutez à nouveau pod install .

Merci, c'est réglé pour moi aussi. J'avais l'impression que d'autres réponses suggéraient le contraire.

Cette page vous a été utile?
0 / 5 - 0 notes