Print: Entry, ": CFBundleIdentifier", non esiste


117

Quando eseguo react-native run-iosla build riesce ma ottengo l'errore di seguito. Ho controllato dappertutto ma non sembra funzionare niente. Anche l'uso sudodavanti al comando non aiuta. Sto usando 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)

E l'identificatore del bundle esiste nel file? Presumo di no, quindi la domanda è "perché non viene scritto nel file".
trojanfoe

Questo non aiuta davvero. Puoi elaborare?
astiefel

Per me è dovuto un problema di compatibilità nativo di reazione con Xcode9.4. Ho risolto utilizzando i seguenti passaggi. "rm -rf node_modules" quindi "react-native upgrade" quindi "npm install" quindi "react-native run-ios"
raja

Raja .. sei sicuro che sia possibile eseguire l'aggiornamento nativo di reazione dopo aver rimosso la cartella node_modules? Ho provato e ha detto che l'aggiornamento non è stato riconosciuto
VK1

Chiudi il tuo terminale, aprilo di nuovo ed esegui l'app che ha funzionato per me.
Chandni

Risposte:


110

Apri progetto in Xcode

Se Xcode> 9 run command react-native upgrade(questo sovrascrive tutte le tue configurazioni iOS, usalo con cautela !)

poi

1. Vai su File -> Impostazioni progetto

2.Fare clic sul pulsante Avanzate

3. Seleziona "Personalizzato" e seleziona "Relativo allo spazio di lavoro" nel menu a discesa

4. Cambia "Build / Products" in "build / Build / Products" e "Build / Intermediates" in "build / Build / Intermediates"

Aggiungi pacchetto

5.Fai clic su Fine, Fatto


1
Questo ha funzionato per me su xcode 8.2, ha risolto il mio problema grazie!
KrakenDev

@SurajShingade Ho Xcode 9.4 sulla mia macchina e non riesco a trovare l'opzione "Impostazioni progetto" in "File". Vedo solo "Impostazioni area di lavoro ...". Sai dove accedere alle Impostazioni del progetto? - imgur.com/a/SqAemnL - tenere premuto il tasto opzione con il menu File aperto non lo mostra neanche
Pat Needham

1
@PatNeedham "Project Settings" è stato rinominato in "Workspace Settings"
Toby Caulk

3
Puoi spiegare un po 'perché questa soluzione funziona?
Victor

3
Questo è ancora il modo per risolverlo a partire da xCode 10
jacurtis

70

Questo può accadere se ti manca il file config.h ,

Per aggiornare il file config.h ,

1) Chiudi il tuo Xcode.

2) Apri Terminale, vai alla cartella principale del tuo progetto e fai:

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

3) Esegui lo script di configurazione:

./configure

4) Apri Xcode e prova a eseguire la tua app.

{X}: numero di versione glog


Grazie!! questo mi ha fatto risparmiare tempo.
Gurjinder Singh

6
Ho installato React-Native da zero, ho creato il mio primo progetto, ma non sono riuscito a farlo funzionare. Questa risposta ha risolto il mio problema. Mi chiedo perché questo accada, visto che è un'installazione fresca e nuova
Antonio

Ti dispiace spiegare perché sta succedendo?
Patrick Bassut

Questo ha funzionato per me. Nuova installazione di react-native 0.55, Xcode versione 10
mat

1
... cosa succede se non ci sono configurescript, come in 0.58?
Scott Skiles

29

Update React using react-native upgradelo ha fatto per me.

Disclaimer : questo sovrascrive tutte le tue configurazioni iOS, usalo con cautela !


30
la sovrascrittura di tutti i file iOS sovrascriverà tutte le configurazioni che hai apportato al tuo progetto. lol. utilizzare a proprio rischio il disclaimer è il minimo che si possa fare.
AlxVallejo

1
Sarebbe utile se qualcuno potesse spiegare cosa significa "tutte le tue configurazioni iOS".
Andrew Koster

25

Se stai usando Xcode 10, potrebbe essere dovuto a un'incompatibilità con l'ultimo sistema di build di Xcode. Prova a passare al sistema di compilazione legacy.

Apri Xcode 10, File> Impostazioni progetto> Build System> passa a discesa a Legacy Build System.

Immagine dello schermo


ratti! Ho perso due giorni lavorativi a causa di questo problema. La cosa pazzesca è che la mia build CLI funzionava perfettamente fino a 3 giorni fa. Non ho idea di cosa sia successo. Anche questo non ha risolto il problema. Vuoi vedere cresciuto il mio pianto? TT
Mike S.

10

Il mio problema era in realtà che la mia build era in modalità di rilascio anziché in modalità di debug. Di conseguenza, l'identificatore puntava a qualcosa che non esisteva. Ho cambiato il tipo di build e ha finito per funzionare.


3
Ma cosa succede se si desidera eseguire il progetto in modalità di rilascio?
Tieme


@astiefel Penso che questo sia quello che sta succedendo anche a me. A proposito, come si modifica il tipo di build?
JohnnyQ

@JohnnyQ Vai a Product-> Scheme-> Edit Schemee quindi seleziona Debug in Configurazione build
astiefel

10

Mi sono imbattuto anche in questo problema e ho trovato un modo per risolverlo

Ecco cosa ho fatto:

1) Assicurati che non ci siano spazi bianchi nella directory dei file.

2) directory del progetto cd

3) eseguire il comando react-native upgrade

4) Vai alla cartella ios nativa e apri il progetto xcode.

5) Vai su File> Impostazioni progetto> Avanzate ...

6) seleziona Personalizzato> Relativo allo spazio di lavoro

7) il percorso dei prodotti dovrebbe essere "build / Build / Products"

8) il percorso degli intermedi dovrebbe essere 'build / Build / Intermediates'

9) ora prova a eseguire il comando nel tuo terminale react-native run-ios

Spero che queste soluzioni aiuteranno alcuni di noi ad affrontare questo problema.


21
non ha funzionato per me ho ancora questo errore: Voce, ": CFBundleIdentifier", non esiste
Mehrnoosh

9

Per react-native@0.46.4quanto segue ha fatto il trucco per me:

1) Controlla i tuoi percorsi, apri il tuo file .xcodeproj (non .xcworkspace) e:

  • vai su File> Impostazioni progetto> Avanzate

  • personalizzato> Relativo all'area di lavoro

  • imposta il percorso dei prodotti su 'build/Build/Products'
  • imposta il percorso degli intermedi su 'build/Build/Intermediates'
  • premere fatto e salvare le modifiche

2) Esegui rm -rf ios/buildnella directory principale del tuo progetto

3) Chiudi il tuo React Packager

4) Corri di react-native run-iosnuovo


Funziona anche su: "Reaction": "16.2.0", "React-Native": "0.52.0",
Raju yourPepe

Questo problema ha risolto per me dopo aver aggiunto le dipendenze tramite Pod alla parte iOS del nostro progetto RN. Tranne: ho apportato questa modifica nel file .xcworkspaceconfig.
cayleyh

@cayleyh, questo non ha funzionato esattamente per me ma ha rimosso l' Splashscreenerrore, quindi stai dicendo che hai seguito il passaggio di Tims tranne che l'hai fatto all'interno di xcworkspace?
Daniel

8

Mi è successo quando la mia cartella node_modules si è guastata dopo aver installato un nuovo pacchetto. Ho ucciso la cartella rm -rf node_modulese poi ho npm installreinstallato i miei pacchetti e questo l'ha risolto.


Questa è stata l'unica cosa che ha risolto il problema per me.
223seneca,

7

Il Print: Entry, ":CFBundleIdentifier", Does Not Existmessaggio indica semplicemente che il progetto non è stato compilato o collegato. Dovrai tornare indietro nel tuo output per trovare un suggerimento sulla causa principale effettiva.

Se hai problemi, guarda l'output completo della build, non solo le ultime righe. Potresti voler aprire il progetto in Xcode e premere ⌘B per crearlo. Gli errori di compilazione in Xcode dovrebbero aiutarti a trovare la causa principale dell'errore.


Salvatore della vita. Era davvero un altro problema. Il mio schema è stato rinominato e il problema è stato risolto.
Mohammad Abbas

Nel mio Xcode comiling e posso creare file. Durante l'esecuzione del comando react-native run-ios non è riuscito
sejn

6

Se hai ricevuto questo errore, probabilmente non hai il percorso corretto per la tua applicazione.

Si è verificato un errore durante l'elaborazione del comando (domain = NSPOSIXErrorDomain, code = 2): Impossibile installare l'applicazione richiesta. Impossibile trovare un bundle dell'applicazione nel percorso fornito. Fornire un percorso valido per il bundle dell'applicazione desiderato. Print: Entry, ": CFBundleIdentifier", non esiste

React Native l'ha codificato come parte del comando run-ios in runIOS.js

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

Sfortunatamente, Xcode ha percorsi di compilazione diversi a seconda della configurazione e se stai utilizzando un progetto Xcode o un'area di lavoro. Credo che il percorso predefinito per un progetto Xcode sia build/Products.
Ho inviato questa richiesta pull 11899 per dare ai programmatori maggiore flessibilità dalla CLI.


3

Per me è stato un problema con l'impostazione accidentale dei moduli utilizzando Cocoapods e react-native linkallo stesso tempo.

Non mescolare questi due per gli stessi moduli!


Quindi come andare in giro con questo?
Isaac

@Isaac nuke cache e installa con entrambi i link cocoapods / react-native, a seconda di come è impostato il tuo progetto
Buruiană Cătălin

3

Ho risolto il problema eliminando /build/ed eseguendo di react-native run-iosnuovo


@Eran O vedi Provide a valid path to the desired application bundle.nella tua console? Prova le seguenti impostazioni xcodefile => 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

Hai verificato di aver dichiarato un identificatore di bundle? Puoi farlo facendo clic sul tuo file di progetto in xcode e quindi selezionando la scheda generale ed è elencata sotto la prima casella di testo sotto "Identità". Un altro modo per verificare è archiviare il file info.plist nella cartella ios del progetto. Questo è come viene mostrato nel mio info.plist. Il mio attuale identificatore di bundle per il mio progetto è in xcode.

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

1
Sì, l'ho controllato. L'errore era in realtà che il mio codice era in modalità di rilascio anziché in modalità di debug.
astiefel

2

Nel mio caso, tiro il progetto da git e include anche la cartella ios.

Per prima cosa rimuovo la cartella ios rm -rf ios , quindi,react-native upgrade


2

Puoi seguire i passaggi seguenti per risolvere questo errore:

Passo 1

Open terminal

Passo 2

cd node_modules/react-native/third-party

Passaggio 3

ls

Copy or identify glog-{version}

Passaggio 4

cd ../../../

Passaggio 5

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

Passaggio 6

./configure

Spero che funzioni !!!


2

Ho provato tutte queste soluzioni ma quella che ha funzionato per me è:

  1. correre react-native upgrade
  2. apri xcode
  3. eseguire l'applicazione in xCode
  4. funziona bene!

grazie Eli, ho risolto questo problema eseguendo semplicemente "
React

Per coloro che lavorano in ambienti aziendali, esorto alla cautela nell'utilizzo di questa soluzione. L'aggiornamento del core reattivo deve essere pianificato perché potrebbe avere un impatto negativo sul lavoro degli altri. Prima chiedi.
Mike S.


1

lo 0.44 può essere eseguito , ma 0.45 non può , forse è il problema della versione che ho risolto con il seguente comando : rninit init TaxiApp --source react-native@0.44.0;


1

Il mio terminale visualizza lo stesso messaggio a causa dell'eliminazione di alcuni simulatori che non uso in Xcode.

Se esegui react-native run-iossenza parametri specifici, react-native eseguirà il simulatore predefinito che è iPhone 6 con iOS 10.3.1 nel mio caso e ho cancellato questo simulatore per caso.

Ecco i miei messaggi di errore:

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

Per sbarazzartene, apri il tuo Xcode e controlla i simulatori disponibili (come i terminali elencati) ed esegui react-native run-ios --simulator="your device name"

Per il mio caso, corro react-native run-ios --simulator="iPhone 7", il problema risolto.


Perfetto! Grazie!
Asinox

1

Dopo un paio di mesi provando tutte le risposte, finalmente aggiorno il mio sistema operativo a Sierra, aggiorno XCode all'ultima versione e con quella tutti gli errori scompaiono. Spero che questo possa aiutare alcune persone là fuori!


1

Aggiungendo, funziona per me, quando nulla di cui sopra risolve:

  1. Installa react-native-git-upgrade e aggiorna il tuo progetto. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Apri Xcode -> File -> Impostazioni progetto -> Avanzate.
  3. Selezionare " Personalizzato ", quindi selezionare " Relativo allo spazio di lavoro " e quindi fare clic su Fine, Fine.
  4. Aggiorna la tua CLI. npm i -g react-native-cli
  5. Aggiorna il tuo Nodejs 8 e NPM. nvm install --ltsenvm install-latest-npm
  6. Rimuovi ios / build e node_modules (nel percorso root del tuo progetto)
  7. Procedi di nuovo con npm installe react-native run-iose abbracciami :-)

Finalmente funziona qui.

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Nodo 8.11.1
  • RN 0.55.2

1

Usare questa versione per me funziona con xcode 10.1

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

Onestamente pensavo che quanto sopra sarebbe stato il mio salvatore e anche quello non ha funzionato. Quindi l'aggiornamento, nah non sono convinto.
Daniel

1

Tutte queste soluzioni suggeriscono che non hanno funzionato per me. Ho appena creato un progetto rn 0.58.5. E rispetto al mio progetto. Ho visto che non c'è JavaScriptCore.frameworksotto il Build Phasess>Link Binary With Libraries . Dopo il trascinamento, la build run-ios di JavaScriptCore react-native è riuscita.

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

JavaScriptCore.framework


Dando un +1 stavo anche eseguendo 0.58.5 e il framework mancava anche dal mio ambiente.
Brian P

1

Per me erano dipendenze ios gestite da cocoapods.

Dovevo fare questo:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Questo ha funzionato per me

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

PS: Stavo cercando di capire il lavoro svolto da qualcun altro


l'esecuzione di pod install diceva: [!] Nessun `Podfile 'trovato nella directory del progetto.
Mohammad Mirzaeyan

@MohammadMirzaeyan presupposto era che hai fatto pod inite hai un Podfile valido. Si prega di non sottovalutare se non si dispone di conoscenze sufficienti per contrastare le proprie affermazioni. Dato che era il progetto di qualcun altro, come ho detto, avevo già il PodFile. Ho rimosso completamente la configurazione del pod per persone come te.
user710907

1

Il messaggio di errore simile a The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Significa che Xcode pensa che tu plistabbia invalid format content.

È necessario incollare il contenuto del Info.plistfile per scoprire cosa c'è che non va in quel file.

Un possibile problema è che questi <key>s e <values>s ( <array>s, <string>s o <bool>s) non sono accoppiati correttamente. Per esempio:

<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>

Hai solo bisogno di spostare l' keye valuetogather

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

Questo dovrebbe avere molti più voti positivi! Il mio Info.plist aveva un tag "<string />" non chiuso e semplicemente sbagliato nel mezzo del nulla. Controlla attentamente il tuo file plist dalla testa alla coda.
Douglas Schmidt

0

Questo funziona per me Fai clic sul progetto RCTWebSocket nel tuo navigatore e rimuovi i flag nelle impostazioni di build> flag del compilatore personalizzato inserisci qui la descrizione dell'immagine


0

Ho scoperto come risolvere il problema: NON utilizzare lo spazio nel percorso del tuo progetto! 🎉 😄



0

Quando esegui il npm installcomando qualche volta problema con Internet, i file in node_modules\react-native\third-partynon vengono scaricati correttamente, quindi controlla che sia stato scaricato correttamente o meno, in caso contrario, rimuovi node_modules e installalo di nuovo

quindi eseguire il react-native run-ios comando


0

Il motivo principale è che la distribuzione della porta non è gratuita. O riavvii il dispositivo e ottieni tutte le porte libere oppure esegui $ lsof -i :8081e trova il processo che occupava la porta 8081. Uccidi il processo che sta usando la porta 8081 eseguendo$ kill -9 {process_which_is_running_under_8081}

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.