web-dev-qa-db-fra.com

React-Native Off Bundle - Images non affichées

J'ai une application React-Native que je tente de déployer en mode Release sur mon téléphone. Je peux regrouper l'application sur le téléphone. Les ressources de base de données, vidéo et audio sont toutes présentes, mais aucune image ne s'affiche dans l'interface utilisateur. 

J'ai effectué les opérations suivantes pour «regrouper» mon application:

  1. dans le dossier du projet dans le terminal, lancez react-native bundle --platfrom ios --dev false --entry-file index.ios.js --bundle-output main.jsbundle
  2. Faites glisser la référence au fichier main.jsbundle dans XCode sous le dossier myapp
  3. En XCode, ouvrez AppDelegate.m et décommentez jsCodeLocation = [[NSBundle mainBundle]…
  4. Ouvrez Product > Scheme > Edit Scheme puis changez Build Configuration en Release
  5. Sélectionnez myapp sous le navigateur de projet, puis: Sous TARGETS: myappTests> Build Phases> Link Binary With Librariespress +select Workspace> libReact.a et Add

Lorsque j'essaie de compiler dans XCode avec le paramètre ../node_modules/react-native/packager/react-native-xcode.sh dans myapp > targets > myapp > Bundle React Native code and images, il échoue avec error code 1

J'ai vu des tas de publications à ce sujet et j'ai essayé:

  • pour vérifier Run script only when installing- l'application s'installe alors mais sans images
  • ajout de source ~/.bash_profile à react-native-xcode.sh - la construction de l'application échoue

Toute aide serait grandement appréciée! 

12
scgough

Lorsque vous générez un paquet, mettez également --assets-dest ./

"bundle réactif natif --platform ios --assets-dest ./ --dev false --entry-file index.ios.js --bundle-output iOS/main.jsbundle"

Il va générer le dossier main.jsbundle et Assets. Allez sur votre Xcode, cliquez avec le bouton droit de la souris sur ajouter des fichiers au projet et ajoutez le fichier main.jsbundle au projet. Faites également glisser le dossier Assets et sélectionnez Créer par référence (remarque: ne sélectionnez pas Créer groupe).

j'utilisais réagi 0.33, main.jsbundle utilise le dossier assets (petit a) mais génère des actifs (Caps A). Je viens de changer le dossier généré d'Assets en actifs et de l'importer dans xcode et que ça commence à fonctionner

17
Dinesh Sharma

sont les images dans xcode ou dans le système de fichiers ?, Je ne vois pas un --assets-dest dans les paramètres de votre bundle 

react-native bundle  --minify --dev false --assets-dest ./ios --entry-file index.ios.js --platform ios --bundle-output ios/main.jsbundle

ajoutez également le dossier assets à xcode comme le paquet.

notez que les ressources image ne sont copiées que si elles sont requises correctement, voir la documentation

12
papacostas

Exécutez cette commande à la racine de votre projet Rn:

react-native bundle --entry-file = './index.js' --bundle-output = './main.jsbundle' --dev = false --platform = 'ios' --assets-dest = './ios '

Et ajoutez la référence du dossier dans votre projet en XCode.

0
matt