Imprimer: Entrée, «: CFBundleIdentifier», n'existe pas


117

Quand j'exécute react-native run-iosla construction réussit mais j'obtiens l'erreur ci-dessous. J'ai vérifié partout mais rien ne semble fonctionner. Utiliser sudodevant la commande n'aide pas non plus. J'utilise Xcode 7.3, react-native-cli: 0.2.0, react-native: 0.24.1, node v5.11.0.

=== BUILD TARGET mobileTests OF PROJECT mobile WITH CONFIGURATION Release ===

Check dependencies

** BUILD SUCCEEDED **

Installing build/Build/Products/Debug-iphonesimulator/mobile.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist
/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/done.js:10
      throw err;
      ^

Error: Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/mobile.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

    at checkExecSyncError (child_process.js:470:13)
    at Object.execFileSync (child_process.js:490:13)
    at _runIOS (runIOS.js:91:34)
    at runIOS.js:24:5
    at tryCallTwo (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:45:5)
    at doResolve (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:200:13)
    at new Promise (/Users/astiefel/workspace/bosspayments/mobile/node_modules/promise/lib/core.js:66:3)
    at Array.runIOS (runIOS.js:23:10)
    at Object.run (/Users/astiefel/workspace/bosspayments/mobile/node_modules/react-native/local-cli/cli.js:86:13)
    at Object.<anonymous> (/usr/local/lib/node_modules/react-native-cli/index.js:88:7)

Et l'identifiant du bundle existe-t-il dans le fichier? Je suppose que non, donc la question est "pourquoi n'est-il pas écrit dans le fichier".
trojanfoe

Cela n'aide pas vraiment. Peux-tu élaborer?
astiefel

Pour moi, c'est un problème de compatibilité natif avec Xcode9.4. J'ai résolu en utilisant les étapes suivantes. "rm -rf node_modules" puis "react-native upgrade" puis "npm install" puis "react-native run-ios"
raja

Raja..es-vous sûr qu'il est possible d'exécuter la mise à niveau react-native après avoir supprimé le dossier node_modules? J'ai essayé et il a dit que la mise à niveau n'était pas reconnue
VK1

Fermez simplement votre terminal, ouvrez-le à nouveau et exécutez l'application qui a fonctionné pour moi.
Chandni

Réponses:


110

Ouvrir un projet dans Xcode

Si Xcode> 9 exécutez la commande react-native upgrade(cela écrase toutes vos configurations iOS, utilisez avec prudence !)

puis

1 Allez dans Fichier -> Paramètres du projet

2.Cliquez sur le bouton Avancé

3.Sélectionnez "Personnalisé" et sélectionnez "Par rapport à l'espace de travail" dans le menu déroulant

4.Changez "Build / Products" en "build / Build / Products" et "Build / Intermediates" en "build / Build / Intermediates"

Ajouter un package

5. cliquez sur terminé, terminé


1
Cela a fonctionné pour moi sur xcode 8.2, a résolu mon problème merci!
KrakenDev

@SurajShingade J'ai Xcode 9.4 sur ma machine et je ne trouve pas l'option "Paramètres du projet" dans "Fichiers". Je ne vois que "Paramètres de l'espace de travail ...". Savez-vous où accéder aux paramètres du projet? - imgur.com/a/SqAemnL - maintenir la touche d'option enfoncée avec le menu Fichier ouvert ne l'affiche pas non plus
Pat Needham

1
@PatNeedham "Paramètres du projet" a été renommé "Paramètres de l'espace de travail"
Toby Caulk

3
Pouvez-vous expliquer un peu pourquoi cette solution fonctionne?
Victor

3
C'est toujours le moyen de le réparer à partir du xCode 10
jacurtis

70

Cela peut se produire s'il vous manque le fichier config.h ,

Pour le fichier de mise à jour config.h ,

1) Fermez votre Xcode.

2) Ouvrez Terminal, allez dans le dossier racine de votre projet et faites:

cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/

3) Exécutez le script de configuration:

./configure

4) Ouvrez Xcode et essayez d'exécuter votre application.

{X}: numéro de version glog


Merci!! cela m'a fait gagner du temps.
Gurjinder Singh

6
J'ai installé react-native à partir de zéro, créé mon premier projet, mais je n'ai pas réussi à le faire fonctionner. Cette réponse a résolu mon problème. Je me demande pourquoi cela se produit, puisqu'il s'agit d'une nouvelle et nouvelle installation
Antonio

Ça vous dérange d'expliquer pourquoi cela se produit?
Patrick Bassut

Cela a fonctionné pour moi. Nouvelle installation de React-native 0.55, Xcode version 10
mat

1
... et s'il n'y a pas de configurescript, comme dans 0.58?
Scott Skiles

29

Mettre à jour React en utilisant l'a react-native upgradefait pour moi.

Avertissement : cela écrase toutes vos configurations iOS, à utiliser avec prudence !


30
écraser tous les fichiers iOS écrasera toutes les configurations que vous avez apportées à votre projet. lol. utiliser à vos propres risques une clause de non-responsabilité est le moins que vous puissiez faire.
AlxVallejo

1
Ce serait utile si quelqu'un pouvait expliquer ce que signifie «toutes vos configurations iOS».
Andrew Koster

25

Si vous utilisez Xcode 10, cela peut être dû à une incompatibilité avec le dernier système de construction de Xcode. Essayez de passer au système de construction hérité.

Ouvrez Xcode 10, Fichier> Paramètres du projet> Système de construction> basculez le menu déroulant vers Legacy Build System.

Capture d'écran


les rats! J'ai perdu deux jours de travail à cause de ce problème. Ce qui est fou, c'est que ma version CLI a bien fonctionné jusqu'à il y a 3 jours. Aucune idée de ce qui s'est passé. Cela n'a pas non plus résolu le problème. Tu veux voir un grand mon cri? TT
Mike S.

10

Mon problème était en fait que ma construction était en mode Release au lieu du mode Debug. En conséquence, l'identifiant indiquait quelque chose qui n'existait pas. J'ai changé le type de construction et cela a fini par fonctionner.


3
Mais que faire si vous souhaitez exécuter votre projet en mode Release?
Tieme


@astiefel Je pense que c'est ce qui m'arrive aussi. Comment changez-vous le type de build au fait?
JohnnyQ

@JohnnyQ Allez à Product-> Scheme-> Edit Schemepuis sélectionnez Déboguer sous Configuration de la construction
astiefel

10

Je suis également tombé sur ce problème et j'ai trouvé un moyen de le résoudre

Voici ce que j'ai fait:

1) Assurez-vous qu'il n'y a pas d'espaces blancs dans le répertoire de fichiers.

2) répertoire du projet cd

3) Exécutez la commande React-native upgrade

4) Accédez au dossier ios natif et ouvrez le projet xcode.

5) Allez dans Fichier> Paramètres du projet> Avancé ...

6) sélectionnez personnalisé> par rapport à l'espace de travail

7) Le chemin des produits doit être 'build / Build / Products'

8) Le chemin des intermédiaires doit être 'build / Build / Intermediates'

9) Maintenant, essayez d'exécuter la commande dans votre terminal React-Native Run-iOS

J'espère que ces solutions aideront certains d'entre nous à faire face à ce problème.


21
pas travaillé pour moi encore j'ai cette erreur: Entrée, ": CFBundleIdentifier", n'existe pas
Mehrnoosh

9

Pour react-native@0.46.4 ce qui suit a fait l'affaire pour moi:

1) Vérifiez vos chemins, ouvrez votre fichier .xcodeproj (pas .xcworkspace) et:

  • allez dans Fichier> Paramètres du projet> Avancé

  • personnalisé> Par rapport à l'espace de travail

  • définir le chemin des produits sur 'build/Build/Products'
  • définir le chemin des intermédiaires sur 'build/Build/Intermediates'
  • appuyez sur Terminé et enregistrez vos modifications

2) Exécutez rm -rf ios/builddans le répertoire racine de votre projet

3) Fermez votre packager de réaction

4) Courez à react-native run-iosnouveau


Fonctionne également sur: "react": "16.2.0", "react-native": "0.52.0",
Raju yourPepe

Cela a résolu le problème pour moi après avoir ajouté des dépendances via des pods à la partie iOS de notre projet RN. Sauf: j'ai fait ce changement dans la .xcworkspaceconfig.
cayleyh

@cayleyh, cela n'a pas été pour moi exactement, mais cela a supprimé l' Splashscreenerreur, alors dites-vous que vous avez suivi l'étape de Tims sauf que vous l'avez fait à l'intérieur xcworkspace?
Daniel

8

Cela m'est arrivé lorsque mon dossier node_modules est devenu vicié après l'installation d'un nouveau package. J'ai tué le dossier rm -rf node_modules, puis npm installj'ai réinstallé mes paquets et cela a résolu le problème.


C'était la seule chose qui a résolu le problème pour moi.
223seneca

7

le Print: Entry, ":CFBundleIdentifier", Does Not Exist message indique simplement que votre projet n'a pas pu être compilé ou lié. Vous devrez revenir en arrière dans votre sortie afin de trouver un indice sur la cause racine réelle.

Si vous rencontrez des problèmes, regardez la sortie complète de la compilation, pas seulement les dernières lignes. Vous pouvez ouvrir le projet dans Xcode et appuyer sur ⌘B pour le construire. Les erreurs de construction dans Xcode devraient vous aider à trouver la cause première de l'échec.


Sauveur de la vie. C'était en effet un autre problème. Mon schéma a-t-il été renommé et le problème a été résolu.
Mohammad Abbas

Dans mon Xcode comiling et je peux en mesure de construire. Lors de l'exécution de la commande
react

6

Si vous avez reçu cette erreur, vous n'avez probablement pas le chemin correct pour votre application.

Une erreur s'est produite lors du traitement de la commande (domaine = NSPOSIXErrorDomain, code = 2): Échec de l'installation de l'application demandée. Un ensemble d'applications n'a pas été trouvé dans le chemin fourni. Fournissez un chemin valide vers le bundle d'applications souhaité. Imprimer: Entrée, ": CFBundleIdentifier", n'existe pas

React Native l'a codé en dur dans le cadre de sa commande run-ios dans runIOS.js

build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app

Malheureusement, Xcode a des chemins de construction différents selon votre configuration et selon que vous utilisez un projet Xcode ou un espace de travail. Je crois que le chemin par défaut pour un projet Xcode est build/Products.
J'ai soumis cette pull request 11899 pour donner aux programmeurs plus de flexibilité de la CLI.


3

Pour moi, c'était un problème avec la configuration accidentelle de modules à l'aide de Cocoapods & react-native link en même temps.

Ne mélangez pas ces deux pour les mêmes modules!


Alors, comment faire le tour avec ça?
Isaac

@Isaac nuke cache et installe avec le lien cocoapods / react-native, selon la configuration de votre projet
Buruiană Cătălin

3

J'ai corrigé cela en supprimant /build/et en exécutant à react-native run-iosnouveau


@EranOr voyez-vous Provide a valid path to the desired application bundle.dans votre console? Essayez les paramètres xcode suivantsfile => project settings, build system: legacy, derived data: project-relative, DerivedData in the input => advanced, custom, relative to workspace, build/Build/ in the first 2 inputs

2

Avez-vous vérifié que vous avez déclaré un identifiant de bundle? Vous pouvez le faire en cliquant sur le fichier de votre projet dans xcode, puis en sélectionnant l'onglet général et il est répertorié sous la première zone de texte sous «Identité». Une autre façon de vérifier consiste à archiver votre fichier info.plist dans le dossier ios de votre projet. C'est ainsi que cela apparaît dans mon info.plist. Mon identifiant de bundle réel pour mon projet est dans xcode.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>

1
Ouais, j'ai vérifié ça. L'erreur était en fait que mon code était en mode version au lieu du mode débogage.
astiefel

2

Dans mon cas, je tire le projet de git et il comprend également le dossier ios.

Je supprime d'abord le dossier ios rm -rf ios puis,react-native upgrade


2

Vous pouvez suivre les étapes ci-dessous pour résoudre cette erreur:

Étape 1

Open terminal

Étape 2

cd node_modules/react-native/third-party

Étape 3

ls

Copy or identify glog-{version}

Étape 4

cd ../../../

Étape 5

cd node_modules/react-native/third-party/glog-{version}

Étape 6

./configure

J'espère que cela fonctionnera !!!


2

J'ai essayé toutes ces solutions, mais celle qui a fonctionné pour moi est:

  1. courir react-native upgrade
  2. ouvrir xcode
  3. exécuter l'application dans xCode
  4. fonctionne très bien!

merci Eli, j'ai résolu ce problème en exécutant simplement "
react

Pour ceux qui travaillent dans des environnements d'entreprise, je vous conseille vivement d'utiliser cette solution. La mise à niveau du noyau natif de réaction doit être planifiée car elle pourrait avoir un impact négatif sur le travail des autres. Demandez d'abord.
Mike S.


1

le 0.44 est ok pour fonctionner , mais 0.45 ne peut pas , est peut-être le problème de version que j'ai résolu par la commande suivante : rninit init TaxiApp --source react-native@0.44.0;


1

Mon terminal affiche le même message en raison de la suppression de certains simulateurs que je n'utilise pas dans Xcode.

Si vous courez react-native run-ios sans paramètres spécifiques, react-native exécutera le simulateur par défaut qui est l'iPhone 6 avec iOS 10.3.1 dans mon cas et j'ai supprimé ce simulateur par hasard.

Voici mes messages d'erreur:

xcodebuild: error: Unable to find a destination matching the provided destination specifier:
        { id:F3A7BF54-B827-4517-A30D-8B3241C8EBF8 }

Available destinations for the "albums" scheme:
    { platform:iOS Simulator, id:CD64F26B-045A-4E27-B05A-5255924095FB, OS:10.3.1, name:iPad Pro (9.7 inch) }
    { platform:iOS Simulator, id:8FC41950-9E60-4264-B8B6-20E62FAB3BD0, OS:10.3.1, name:iPad Pro (10.5-inch) }
    { platform:iOS Simulator, id:991C8B5F-49E2-4BB7-BBB6-2F5D1776F8D2, OS:10.3.1, name:iPad Pro (12.9 inch) }
    { platform:iOS Simulator, id:B9A80D04-E43F-43E3-9CA5-21137F7C673D, OS:10.3.1, name:iPhone 7 }
    { platform:iOS Simulator, id:58F6514E-185B-4B12-9336-B8A1D4E901F8, OS:10.3.1, name:iPhone 7 Plus }

. . .

Installing build/Build/Products/Debug-iphonesimulator/myapp.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=2):
Failed to install the requested application
An application bundle was not found at the provided path.
Provide a valid path to the desired application bundle.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/myapp.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Afin de vous en débarrasser, ouvrez votre Xcode et vérifiez les simulateurs disponibles (comme le terminal répertorié) et exécutez react-native run-ios --simulator="your device name"

Pour mon cas, je cours react-native run-ios --simulator="iPhone 7", le problème est résolu.


Parfait! Merci!
Asinox

1

Après quelques mois à essayer toutes les réponses, j'ai enfin mis à jour mon système d'exploitation vers Sierra, mettre à jour XCode avec la dernière version et avec cela toutes les erreurs disparaissent. J'espère que cela pourrait aider certaines personnes!


1

En ajoutant, cela fonctionne pour moi, quand rien ci-dessus ne corrige:

  1. Installez react-native-git-upgrade et mettez à jour votre projet. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Ouvrez Xcode -> Fichier -> Paramètres du projet -> Avancé.
  3. Sélectionnez " Personnalisé ", puis sélectionnez " Par rapport à l'espace de travail ", puis cliquez sur Terminé, Terminé.
  4. Mettez à jour votre CLI. npm i -g react-native-cli
  5. Mettez à jour vos Nodejs 8 et NPM. nvm install --ltsetnvm install-latest-npm
  6. Supprimez ios / build et node_modules (dans le chemin racine de votre projet)
  7. Recommencez avec npm installet react-native run-ios, et faites-moi un câlin :-)

Cela fonctionne enfin ici.

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Nœud 8.11.1
  • RN 0,55,2

1

Utiliser cette version fonctionne pour moi avec xcode 10.1

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"

J'ai honnêtement pensé que ce qui précède serait mon sauveur et même cela n'a pas fonctionné. Donc mise à niveau, non je ne suis pas convaincu.
Daniel

1

Toutes ces solutions suggérées n'ont pas fonctionné pour moi. Je viens de créer un projet rn 0.58.5. Et par rapport à mon projet. J'ai vu qu'il n'y a pas JavaScriptCore.frameworksous le Build Phasess>Link Binary With Libraries . Après le glisser-déposer, la génération de run-ios natif de JavaScriptCore a réussi.

JavaScriptCore.framework emplacement: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework


En donnant un +1, j'utilisais également 0.58.5 et le framework manquait également dans mon environnement.
Brian P

1

Pour moi, c'était des dépendances ios gérées par des cocoapodes.

Dû faire ceci:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Cela a fonctionné pour moi

https://shift.infinite.red/beginner-s-guide-to-using-cocoapods-with-react-native-46cb4d372995

PS: J'essayais de comprendre le travail effectué par quelqu'un d'autre


l'exécution de l'installation du pod a dit: [!] Aucun `Podfile 'trouvé dans le répertoire du projet.
Mohammad Mirzaeyan

@MohammadMirzaeyan suppose que vous avez fait pod initet que vous avez un Podfile valide. Veuillez ne pas voter si vous n'avez pas suffisamment de connaissances pour contrer vos affirmations. Comme c'était le projet de quelqu'un d'autre, comme je l'ai mentionné, j'avais déjà le PodFile. J'ai complètement supprimé la configuration du pod pour des gens comme vous.
user710907

1

Le message d'erreur similaire à The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Signifie que Xcode pense que vous plistavez invalid format content.

Vous devez coller le contenu du Info.plistfichier pour découvrir ce qui ne va pas avec ce fichier.

Un problème possible est que ces <key>s et <values>s ( <array>s, <string>s ou <bool>s) ne sont pas correctement appariés. Par exemple:

<key>UISupportedInterfaceOrientations</key>         //<------ here is the key
<key>NSPhotoLibraryUsageDescription</key>
<key>NSCameraUsageDescription</key>
<string>Tagueo necesita usar la camara</string>
<key>NSMicrophoneUsageDescription</key>
<string>Tagueo necesita usar el microfono</string>
<array>                                            //<------ here is the value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>
<key>UISupportedInterfaceOrientations~ipad</key>   //<------ please compare this key
<array>                                            //<------ please compare this value
    <string>UIInterfaceOrientationPortrait</string>
    <string>UIInterfaceOrientationPortraitUpsideDown</string>
    <string>UIInterfaceOrientationLandscapeLeft</string>
    <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Il vous suffit de déplacer keyet de valuerassembler

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>

Cela devrait avoir beaucoup plus de votes positifs! Mon Info.plist avait une balise erronée et non fermée '<string />' au milieu de nulle part. Vérifiez attentivement votre fichier plist de la tête à la queue.
Douglas Schmidt

0

Ce travail pour moi Cliquez sur le projet RCTWebSocket dans votre navigateur et supprimez les indicateurs sous paramètres de construction> indicateurs de compilateur personnalisés entrez la description de l'image ici


0

J'ai trouvé comment résoudre le problème: n'utilisez PAS d'espace dans le chemin de votre projet! 🎉 😄



0

Lorsque vous exécutez la npm installcommande un problème de problème Internet, les fichiers dans node_modules\react-native\third-partyne sont pas correctement téléchargés, veuillez donc vérifier qu'ils sont correctement téléchargés ou non, si non, supprimez node_modules et réinstallez-le

puis exécutez la react-native run-ios commande


0

La raison fondamentale est que le déploiement du port n'est pas gratuit. Soit vous redémarrez l'appareil et obtenez tous les ports libres, soit exécutez $ lsof -i :8081et trouvez le processus qui occupait le port 8081. Tuez le processus qui utilise le port 8081 en exécutant$ kill -9 {process_which_is_running_under_8081}

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.