Imprimir: entrada, “: CFBundleIdentifier”, não existe

117

Quando executo, react-native run-iosa compilação é bem-sucedida, mas recebo o erro abaixo. Verifiquei em todo o lugar, mas nada parece estar funcionando. Usar sudona frente do comando também não ajuda. Estou usando o 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)
Astiefel
fonte
E o identificador do pacote existe no arquivo? Suponho que não, então a questão é "por que não está sendo gravado no arquivo".
trojanfoe
Isso realmente não ajuda. Você pode elaborar?
Astiefel
Para mim, é devido ao problema de compatibilidade reagente nativo com o Xcode9.4. Resolvi usando as seguintes etapas. "rm -rf node_modules" then "react-native upgrade" then "npm install" e "react-native run-ios"
raja
Raja ... você tem certeza de que é possível executar a atualização do react-native depois de remover a pasta node_modules? Eu tentei e disse que a atualização não foi reconhecida
VK1
Basta fechar o terminal, abri-lo novamente e executar o aplicativo que funcionou para mim.
Chandni

Respostas:

110

Abra o projeto no Xcode

Se o Xcode> 9 executar o comando react-native upgrade(isso substitui todas as configurações do iOS, use com cuidado !)

então

1. Vá para Arquivo -> Configurações do projeto

2. Clique no botão Avançado

3. Selecione "Personalizado" e selecione "Relativo ao Espaço de Trabalho" no menu suspenso

4. Altere "Construir / Produtos" para "Construir / Construir / Produtos" e "Construir / Intermediários" para "Construir / Construir / Intermediários"

Adicionar pacote

5. clique feito, feito

Katta Nagarjuna
fonte
1
Isso funcionou para mim no xcode 8.2, corrigiu meu problema, obrigado!
KrakenDev
@SurajShingade Tenho o Xcode 9.4 na minha máquina e não consigo encontrar a opção "Configurações do projeto" em "Arquivos". Vejo apenas "Configurações do espaço de trabalho ...". Você sabe onde acessar as configurações do projeto? - imgur.com/a/SqAemnL - manter pressionada a tecla de opção com o menu Arquivo aberto também não mostra isso
Pat Needham
1
@PatNeedham "Configurações do projeto" foi renomeado para "Configurações do espaço de trabalho"
Toby Caulk
3
Você pode explicar um pouco por que essa solução funciona?
Victor
3
Esta ainda é a maneira de consertar a partir do xCode 10
jacurtis
70

Isso pode ocorrer se você não tiver o arquivo config.h ,

Para atualizar o arquivo config.h ,

1) Feche seu Xcode.

2) Abra o Terminal, vá para a pasta raiz do seu projeto e faça:

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

3) Execute o script de configuração:

./configure

4) Abra o Xcode e tente executar seu aplicativo.

{X}: número da versão glog

Lijith Vipin
fonte
Obrigado!! isso economizou meu tempo.
Gurjinder Singh
6
Instalei o react-native do zero, criei meu primeiro projeto, mas não consegui fazer isso funcionar. Essa resposta resolveu meu problema. Eu me pergunto por que isso acontece, já que é uma instalação nova e fresca
Antonio
Importa-se de explicar por que isso está acontecendo?
Patrick Bassut
Isso funcionou para mim. Nova instalação do react-native 0,55, Xcode versão 10
mat
1
... e se não houver configurescript, como em 0,58?
Scott Skiles de
29

Atualizar o React usando react-native upgradefez isso por mim.

Aviso : isso sobrescreve todas as configurações do iOS, use com cuidado !

sbastidasr
fonte
30
sobrescrever todos os arquivos do iOS sobrescreverá todas as configurações feitas em seu projeto. ri muito. usar por sua própria conta e risco isenção de responsabilidade é o mínimo que você pode fazer.
AlxVallejo
1
Seria útil se alguém pudesse explicar o que significa "todas as suas configurações iOS".
Andrew Koster
25

Se você estiver usando o Xcode 10, pode ser devido a uma incompatibilidade com o sistema de compilação mais recente do Xcode. Tente mudar para o sistema de compilação legado.

Abra o Xcode 10, Arquivo> Configurações do projeto> Sistema de compilação> mude a lista suspensa para Sistema de compilação legado

Captura de tela

ChrisBorg
fonte
ratos! Perdi dois dias de trabalho com esse problema. O que é loucura é que minha construção CLI funcionou bem até 3 dias atrás. Não faço ideia do que aconteceu. Isso também não resolveu o problema. Quer ver meu choro crescer? TT
Mike S.
10

Meu problema era que minha compilação estava no modo Release em vez do modo Debug. Como resultado, o identificador estava apontando para algo que não existia. Mudei o tipo de build e acabou funcionando.

Astiefel
fonte
3
Mas e se você quiser executar seu projeto no modo Release?
Tieme
@astiefel Acho que é isso que está acontecendo comigo também. A propósito, como você altera o tipo de construção?
JohnnyQ
@JohnnyQ Vá para Product-> Scheme-> Edit Schemee selecione Depurar em Configuração de compilação
astiefel
10

Também me deparei com esse problema e encontrei uma maneira de corrigi-lo

Aqui está o que eu fiz:

1) Certifique-se de que não haja espaços em branco no diretório do arquivo.

2) diretório do projeto de cd

3) executar atualização de comando reativo

4) Vá para a pasta ios nativa e abra o projeto xcode.

5) Vá para Arquivo> Configurações do projeto> Avançado ...

6) selecione personalizado> Relativo à área de trabalho

7) o caminho dos produtos deve ser 'build / Build / Products'

8) o caminho dos intermediários deve ser 'construir / construir / intermediários'

9) agora tente executar o comando em seu terminal react-native run-ios

Espero que essas soluções ajudem alguns de nós a enfrentar esse problema.

Usman Awan
fonte
21
não funcionou para mim ainda tenho este erro: Entry, ": CFBundleIdentifier", Does Not Exist
Mehrnoosh
9

Pois [email protected]o seguinte funcionou para mim:

1) Verifique seus caminhos, abra seu arquivo .xcodeproj (não .xcworkspace) e:

  • vá para Arquivo> Configurações do projeto> Avançado

  • personalizado> Relativo ao espaço de trabalho

  • definir o caminho dos produtos para 'build/Build/Products'
  • definir o caminho intermediário para 'build/Build/Intermediates'
  • pressione pronto e salve suas alterações

2) Execute rm -rf ios/buildno diretório raiz do seu projeto

3) Feche seu empacotador de reação

4) Corra react-native run-iosnovamente

Tim
fonte
Também funciona em: "react": "16.2.0", "react-native": "0.52.0",
Raju yourPepe
Este problema resolveu para mim depois de adicionar dependências por meio de Pods à parte iOS de nosso projeto RN. Exceto: eu fiz essa alteração na .xcworkspaceconfiguração.
cayleyh
@cayleyh, isso não funcionou exatamente para mim, mas removeu o Splashscreenerro, então você está dizendo que seguiu os passos de Tim, exceto que o fez por dentro xcworkspace?
Daniel
8

Isso aconteceu comigo quando minha pasta node_modules ficou complicada depois de instalar um novo pacote. Eu matei a pasta rm -rf node_modulese então fiz um npm installpara reinstalar meus pacotes e isso consertou.

Jade
fonte
Essa foi a única coisa que consertou para mim.
223seneca de
7

A Print: Entry, ":CFBundleIdentifier", Does Not Existmensagem apenas indica que seu projeto não conseguiu compilar ou vincular. Você precisará voltar ao resultado para encontrar uma dica sobre a causa raiz real.

Se você estiver tendo problemas, observe a saída completa da compilação, não apenas as últimas linhas. Você pode querer abrir o projeto no Xcode e pressionar ⌘B para construí-lo. Os erros de compilação no Xcode devem ajudá-lo a encontrar a causa raiz da falha.

Héctor Ramos
fonte
Salvador da vida. Na verdade, era outro problema. Meu Schema foi renomeado e o problema foi resolvido.
Mohammad Abbas
No meu Xcode comiling e consigo construir. Ao executar o comando
react
6

Se você recebeu esse erro, provavelmente não tem o caminho correto para o seu aplicativo.

Foi encontrado um erro ao processar o comando (domínio = NSPOSIXErrorDomain, código = 2): Falha ao instalar o aplicativo solicitado. Um pacote de aplicativo não foi encontrado no caminho fornecido. Forneça um caminho válido para o pacote de aplicativos desejado. Imprimir: Entry, ": CFBundleIdentifier", não existe

React Native o codificou como parte de seu comando run-ios em runIOS.js

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

Infelizmente, o Xcode tem caminhos de construção diferentes, dependendo da sua configuração e se você está usando um projeto ou espaço de trabalho Xcode. Acredito que o caminho padrão para um projeto Xcode seja build/Products.
Enviei esta solicitação pull 11899 para dar aos programadores mais flexibilidade da CLI.

Charlle
fonte
3

Para mim foi um problema com a configuração acidental de módulos usando Cocoapods e react-native linkao mesmo tempo.

Não misture esses dois para os mesmos módulos!

Oleg Dater
fonte
Então, como lidar com isso?
Isaac
@Isaac nuke armazena em cache e instale com o link cocoapods / react-native, dependendo de como seu projeto está configurado
Buruiană Cătălin
3

Corrigi isso excluindo /build/e executando react-native run-iosnovamente


fonte
@EranOr você vê Provide a valid path to the desired application bundle.no seu console? Tente as seguintes configurações de 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

Você verificou se declarou um identificador de pacote? Você pode fazer isso clicando em seu arquivo de projeto no xcode e, em seguida, selecionando a guia geral e ela é listada na primeira caixa de texto em "Identidade". Outra forma de verificar é verificar o arquivo info.plist na pasta ios do seu projeto. É assim que aparece no meu info.plist. Meu identificador de pacote real para meu projeto está no xcode.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Ben Dellarocco
fonte
1
Sim, eu verifiquei isso. Na verdade, o erro foi que meu código estava no modo de lançamento em vez do modo de depuração.
astiefel
2

No meu caso, eu puxo o projeto do git e ele também inclui a pasta ios.

Primeiro eu removo a pasta ios rm -rf ios então,react-native upgrade

Ahmet Oğuz Koruyucu
fonte
2

Você pode seguir as etapas abaixo para resolver esse erro:

Passo 1

Open terminal

Passo 2

cd node_modules/react-native/third-party

etapa 3

ls

Copy or identify glog-{version}

Passo 4

cd ../../../

Etapa 5

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

Etapa 6

./configure

Eu espero que isso funcione !!!

Dheeraj D
fonte
2

Eu tentei todas essas soluções, mas a que funcionou para mim é:

  1. corre react-native upgrade
  2. abrir xcode
  3. execute o aplicativo em xCode
  4. funciona bem!
Eli
fonte
obrigado Eli, resolvi esse problema simplesmente executando "atualização
reativa
Para aqueles que trabalham em ambientes corporativos, recomendo cautela ao usar esta solução. A atualização do núcleo reativo nativo precisa ser planejada porque pode impactar negativamente o trabalho de outras pessoas. Pergunte primeiro.
Mike S.
1

Atualizei o Xcode para v8 e o erro foi resolvido.

Mech Minds
fonte
1

o 0.44 pode ser executado, mas o 0.45 não pode, talvez seja o problema de versão que resolvi com o seguinte comando: rninit init TaxiApp --source [email protected];

Joshua
fonte
1

Meu terminal exibe a mesma mensagem devido à exclusão de alguns simuladores que não uso no Xcode.

Se você executar react-native run-iossem parâmetros específicos, o react-native irá executar o simulador padrão que é o iPhone 6 com iOS 10.3.1 no meu caso e eu apaguei este simulador por acaso.

Aí vem minhas mensagens de erro:

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

Para se livrar deles, abra seu Xcode e verifique os simuladores disponíveis (os mesmos do terminal listado) e execute react-native run-ios --simulator="your device name"

Para o meu caso, eu corro react-native run-ios --simulator="iPhone 7", o problema está resolvido.

Frank Wang
fonte
Perfeito! Obrigado!
Asinox
1

Depois de alguns meses tentando todas as respostas, finalmente atualizo meu SO para o Sierra, atualizo o XCode para a versão mais recente e com isso todos os erros desaparecem. Espero que isso possa ajudar algumas pessoas lá fora!

Damianfabian
fonte
1

Adicionando, funciona para mim, quando nada acima corrige:

  1. Instale react-native-git-upgrade e atualize seu projeto. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Abra o Xcode -> Arquivo -> Configurações do projeto -> Avançado.
  3. Selecione " Personalizado ", selecione " Relativo ao Espaço de Trabalho " e clique em concluído, concluído.
  4. Atualize seu CLI. npm i -g react-native-cli
  5. Atualize seu Nodejs 8 e NPM. nvm install --ltsenvm install-latest-npm
  6. Remova ios / build e node_modules (no caminho raiz do seu projeto)
  7. Continue novamente com npm installe react-native run-ios, e me dê um abraço :-)

Finalmente funciona aqui.

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Nó 8.11.1
  • RN 0.55.2
Lindoélio lázaro
fonte
1

Usar esta versão funciona para mim com o xcode 10.1

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
Ananda Bayu Putra Yudhistira
fonte
Sinceramente, pensei que o acima exposto seria meu salvador e mesmo isso não funcionou. Então, atualizando, nah, não estou convencido.
Daniel
1

Todas essas sugestões de solução não funcionaram para mim. Acabei de criar um projeto rn 0.58.5. E comparado com meu projeto. Eu vi que não há JavaScriptCore.frameworksob o Build Phasess> Link Binary With Libraries. Depois de arrastar e soltar, a construção do run-ios reac-native do JavaScriptCore foi bem-sucedida.

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

JavaScriptCore.framework

agência
fonte
Dando um +1, eu também estava executando o 0.58.5 e o framework também estava faltando no meu ambiente.
Brian P
1

Para mim, eram dependências ios gerenciadas por cocoapods.

Tive que fazer isso:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Isso funcionou para mim

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

PS: Estava tentando descobrir um trabalho feito por outra pessoa

user710907
fonte
executando pod install disse: [!] Nenhum `Podfile 'encontrado no diretório do projeto.
Mohammad Mirzaeyan
@MohammadMirzaeyan foi suposto que você fez pod inite tem um Podfile válido. Por favor, não downvote Se você não tem conhecimento suficiente para contestar suas afirmações. Como era projeto de outra pessoa, como mencionei, já tinha o PodFile. Removi completamente a configuração do pod para pessoas como você.
user710907
1

A mensagem de erro semelhante a The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Significa que o Xcode pensa que você plistteminvalid format content .

Você precisa colar o conteúdo do Info.plistarquivo para descobrir o que há de errado com ele.

Um possível problema é que este <key>s e <values>s ( <array>s, <string>s ou <bool>s) não estão emparelhados corretamente. Por exemplo:

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

Você só precisa mover o keye valuejuntar

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>
JerryZhou
fonte
Isso deve ter muito mais votos positivos! Meu Info.plist tinha uma tag '<string />' não fechada e totalmente errada no meio do nada. Verifique cuidadosamente sua lima plist da cabeça à cauda.
Douglas Schmidt
0

Este trabalho para mim Clique no projeto RCTWebSocket em seu navegador e remova os sinalizadores em configurações de compilação> sinalizadores de compilador personalizado insira a descrição da imagem aqui

Jackson Harry
fonte
0

Descobri como resolver o problema: NÃO use espaço no caminho do seu projeto! 🎉 😄

Floris M
fonte
0

Quando você executa o npm installcomando algum problema com a Internet, os arquivos node_modules\react-native\third-partynão são baixados corretamente, portanto, verifique se o download foi feito corretamente ou não, se não, remova node_modules e instale-o novamente

então execute o react-native run-ios comando

Nisarg Thakkar
fonte
0

O motivo básico é que a implantação da porta não é gratuita. Você pode reiniciar o dispositivo e obter todas as portas livres ou executar $ lsof -i :8081e encontrar o processo que ocupou a porta 8081. Elimine o processo que está usando a porta 8081 executando$ kill -9 {process_which_is_running_under_8081}

Gururaj Jeerge
fonte