Печать: Entry, «: CFBundleIdentifier», не существует

117

Когда я запускаю react-native run-iosсборку, я получаю сообщение об ошибке ниже. Я все проверил, но ничего не работает. Использование sudoперед командой тоже не помогает. Я использую Xcode 7.3, response-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
источник
И существует ли в файле идентификатор пакета? Я полагаю, что нет, поэтому вопрос в том, «почему это не записывается в файл».
trojanfoe
На самом деле это не помогает. Вы можете уточнить?
astiefel
Для меня это связано с проблемой совместимости с Xcode9.4. Я решил, используя следующие шаги. «rm -rf node_modules», затем «react-native upgrade», затем «npm install», затем «react-native run-ios»
раджа
Раджа .. вы уверены, что после удаления папки node_modules можно запустить реактивное обновление? Я попробовал, и он сказал, что обновление не распознается
VK1
Просто закройте свой терминал, откройте его снова и запустите приложение, которое у меня сработало.
Чандни

Ответы:

110

Открыть проект в Xcode

Если Xcode> 9 запустить команду react-native upgrade(это перезаписывает все ваши конфигурации iOS, используйте с осторожностью !)

затем

1. Перейдите в Файл -> Настройки проекта.

2. нажмите кнопку Advanced

3. Выберите «Пользовательский» и выберите «Относительно рабочего пространства» в раскрывающемся списке.

4. Измените "Build / Products" на "build / Build / Products" и "Build / Intermediates" на "build / Build / Intermediates".

Добавить пакет

5. нажмите "Готово", "Готово"

Катта Нагарджуна
источник
1
Это сработало для меня на xcode 8.2, исправила мою проблему, спасибо!
KrakenDev
@SurajShingade У меня на компьютере установлен Xcode 9.4, и я не могу найти параметр «Настройки проекта» в разделе «Файлы». Я вижу только «Настройки рабочего пространства ...». Вы знаете, где получить доступ к настройкам проекта? - imgur.com/a/SqAemnL - удерживание клавиши выбора при открытом меню «Файл» тоже не показывает этого
Пэт Нидхэм,
1
@PatNeedham «Настройки проекта» были переименованы в «Настройки рабочего пространства»
Тоби Колк
3
Не могли бы вы немного объяснить, почему это решение работает?
Виктор
3
Это все еще способ исправить это с xCode 10
jacurtis
70

Это может произойти, если вам не хватает файла config.h ,

Для обновления файла config.h ,

1) Закройте свой Xcode.

2) Откройте Терминал, перейдите в корневую папку вашего проекта и выполните:

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

3) Запустите скрипт настройки:

./configure

4) Откройте Xcode и попробуйте запустить приложение.

{X}: номер версии glog

Лиджит Випин
источник
Спасибо!! это сэкономило мне время.
Гурджиндер Сингх
6
Я установил response-native с нуля, создал свой первый проект, но не смог заставить его работать. Этот ответ устранил мою проблему. Интересно, почему это происходит, ведь это свежая и новая установка
Антонио
Не могли бы объяснить, почему это происходит?
Патрик Бассут
Это сработало для меня. Новая установка response-native 0.55, Xcode версии 10
мат
1
... а если configureскрипта нет , как в 0.58?
Скотт
29

Обновите React, используя react-native upgrade сделало это за меня.

Отказ от ответственности : при этом перезаписываются все ваши конфигурации iOS, используйте с осторожностью !

sbastidasr
источник
30
перезапись всех файлов iOS приведет к перезаписи любых настроек, которые вы внесли в свой проект. ржунимагу. используйте на свой страх и риск отказ от ответственности - это меньшее, что вы можете сделать.
AlxVallejo
1
Было бы полезно, если бы кто-нибудь мог объяснить, что означает «все ваши конфигурации iOS».
Эндрю Костер
25

Если вы используете Xcode 10, это может быть связано с несовместимостью с последней системой сборки Xcode. Попробуйте перейти на устаревшую систему сборки.

Откройте Xcode 10, File> Project Settings> Build System> переключите раскрывающийся список на Legacy Build System.

Скриншот

ChrisBorg
источник
крысы! Я потерял два рабочих дня из-за этого вопроса. Что безумно, моя сборка CLI работала нормально до трех дней назад. Понятия не имею, что случилось. Это тоже не устранило проблему. Хотите, чтобы мой крик вырос? TT
Майк С.
10

Моя проблема заключалась в том, что моя сборка находилась в режиме выпуска, а не в режиме отладки. В результате идентификатор указывал на то, чего не существовало. Я изменил тип сборки, и все заработало.

astiefel
источник
3
Но что, если вы хотите запустить свой проект в режиме Release?
Tieme
@astiefel Я думаю, это то, что происходит и со мной. Кстати, как вы меняете тип сборки?
JohnnyQ 05
@JohnnyQ Перейдите в Product-> Scheme-> Edit Schemeи затем выберите Отладка в разделе Конфигурация сборки
astiefel
10

Я тоже столкнулся с этой проблемой и нашел способ ее исправить.

Вот что я сделал:

1) Убедитесь, что в каталоге файлов нет пробелов.

2) каталог проекта компакт-диска

3) запустите команду response-native upgrade

4) Перейдите в родную папку ios и откройте проект xcode.

5) Перейдите в Файл> Настройки проекта> Дополнительно ...

6) выберите Custom> Relative to workspace

7) путь к продуктам должен быть «build / Build / Products»

8) промежуточный путь должен быть 'build / Build / Intermediates'

9) теперь попробуйте запустить команду в своем терминале, реагирующем на родную версию run-ios

Я надеюсь, что эти решения помогут некоторым из нас столкнуться с этой проблемой.

Усман Аван
источник
21
не работает у меня, но у меня эта ошибка: Entry, ": CFBundleIdentifier", не существует
Mehrnoosh
9

Для react-native@0.46.4 следующих сделал трюк для меня:

1) Проверьте свои пути, откройте файл .xcodeproj (не .xcworkspace) и:

  • перейдите в File> Project Settings> Advanced

  • custom> Относительно рабочей области

  • установить путь продуктов к 'build/Build/Products'
  • установить промежуточный путь к 'build/Build/Intermediates'
  • нажмите "Готово" и сохраните изменения

2) Беги rm -rf ios/build в корневом каталоге вашего проекта

3) Закройте свой реактивный упаковщик

4) Беги react-native run-iosснова

Тим
источник
Также работает над: "react": "16.2.0", "react-native": "0.52.0",
Raju yourPepe
Эта проблема решена для меня после добавления зависимостей через Pods в часть iOS нашего проекта RN. За исключением: я внес это изменение в .xcworkspaceконфигурацию.
cayleyh
@cayleyh, это не совсем для меня, но оно устранило Splashscreenошибку, так вы говорите, что следовали шагу Тимса, но не сделали это внутри xcworkspace?
Даниэль
8

Это случилось со мной, когда моя папка node_modules стала непонятной после установки нового пакета. Я убил папку, rm -rf node_modulesа затем npm installпереустановил свои пакеты, и это исправило.

нефрит
источник
Это было единственное, что исправило это для меня.
223seneca
7

Print: Entry, ":CFBundleIdentifier", Does Not ExistСообщение указывает только ваш проект не удалось компиляции или ссылку. Вам нужно будет просмотреть свой вывод, чтобы найти подсказку о реальной основной причине.

Если у вас возникли проблемы, посмотрите на весь результат сборки, а не только на последние несколько строк. Вы можете открыть проект в Xcode и нажать ⌘B, чтобы построить его. Ошибки сборки в Xcode должны помочь вам найти основную причину сбоя.

Эктор Рамос
источник
Спаситель жизни. Это действительно была другая проблема. Если бы моя схема была переименована, проблема была решена.
Мохаммад Аббас
В моем компилировании Xcode я могу построить. При запуске команды run-ios с
реактивным кодом произошел
6

Если вы получили эту ошибку, вероятно, у вас нет правильного пути для вашего приложения.

Произошла ошибка при обработке команды (домен = NSPOSIXErrorDomain, код = 2): Не удалось установить запрошенное приложение. Пакет приложения не был найден по указанному пути. Укажите действительный путь к желаемому набору приложений. Печать: Entry, ": CFBundleIdentifier", не существует

React Native жестко запрограммировал его как часть своей команды run-ios в runIOS.js

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

К сожалению, Xcode имеет разные пути сборки в зависимости от вашей конфигурации и от того, используете ли вы проект Xcode или рабочую область. Я считаю, что путь по умолчанию для проекта Xcode - build/Products.
Я отправил этот запрос на перенос 11899, чтобы дать программистам большую гибкость с помощью интерфейса командной строки.

Charlle
источник
3

Для меня это была проблема с случайной настройкой модулей с помощью Cocoapods & react-native link одновременно.

Не смешивайте эти два для одинаковых модулей!

Олег Датер
источник
Итак, как с этим справиться?
Isaac
@Isaac nuke cache и установка с помощью ссылки cocoapods / react-native, в зависимости от того, как настроен ваш проект
Буруянэ Кэтэлин
3

Я исправил это, удалив /build/и react-native run-iosснова запустив


источник
@Eran или ты видишь Provide a valid path to the desired application bundle.в своей консоли? Попробуйте следующие настройки 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

Вы проверили, объявили ли вы идентификатор пакета? Вы можете сделать это, щелкнув файл проекта в xcode, а затем выбрав вкладку «Общие», и она будет указана под первым текстовым полем в разделе «Идентификация». Другой способ проверить - это проверить ваш файл info.plist в папке ios вашего проекта. Вот как это показано в моем info.plist. Мой фактический идентификатор пакета для моего проекта находится в xcode.

<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
Бен Делларокко
источник
1
Да, я это проверил. На самом деле ошибка заключалась в том, что мой код находился в режиме выпуска, а не в режиме отладки.
astiefel
2

В моем случае я беру проект из git, и он также включает папку ios.

Сначала я удаляю папку ios, rm -rf ios затемreact-native upgrade

Ахмет Огуз Коруюджу
источник
2

Вы можете выполнить следующие шаги, чтобы устранить эту ошибку:

Шаг 1

Open terminal

Шаг 2

cd node_modules/react-native/third-party

Шаг 3

ls

Copy or identify glog-{version}

Шаг 4

cd ../../../

Шаг 5

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

Шаг 6

./configure

Надеюсь, это сработает !!!

Дирадж Д.
источник
2

Я пробовал все эти решения, но у меня сработало следующее:

  1. бегать react-native upgrade
  2. открыть xcode
  3. запустить приложение в xCode
  4. работает отлично!
Eli
источник
спасибо, Эли, я решил эту проблему, просто запустив «
response
Тем, кто работает в корпоративных средах, я бы посоветовал с осторожностью использовать это решение. Обновление ядра, поддерживающего реакцию, необходимо запланировать, поскольку это может негативно повлиять на работу других. Спроси в первую очередь.
Майк С.
1

Я обновил Xcode до версии 8, и ошибка была устранена.

Mech Minds
источник
1

0.44 подходит для запуска , но 0.45 не может , может быть проблема с версией, я решил это с помощью следующей команды : rninit init TaxiApp --source react-native@0.44.0;

Джошуа
источник
1

Мой терминал выдает то же сообщение из-за удаления некоторых симуляторов, которые я не использую в Xcode.

Если ты бежишь react-native run-ios без определенных параметров, react-native запустит симулятор по умолчанию, которым в моем случае является iPhone 6 с iOS 10.3.1, и я случайно удалил этот симулятор.

Вот мои сообщения об ошибках:

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

Чтобы избавиться от них, откройте свой Xcode и проверьте наличие доступных симуляторов (таких же, как указано в терминале) и запустите react-native run-ios --simulator="your device name"

По моему делу бегу react-native run-ios --simulator="iPhone 7", проблема решена.

Фрэнк Ван
источник
Отлично! Спасибо!
Asinox
1

Через пару месяцев, пытаясь найти все ответы, я, наконец, обновил свою ОС до Sierra, обновил XCode до последней версии, и все ошибки исчезли. Надеюсь, это поможет некоторым людям!

damianfabian
источник
1

Добавление, это работает для меня, когда ничего выше не исправляет:

  1. Установите response-native-git-upgrade и обновите свой проект. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Откройте Xcode -> Файл -> Настройки проекта -> Дополнительно.
  3. Выберите « Пользовательский », затем выберите « Относительно рабочей области. », а затем нажмите .
  4. Обновите свой интерфейс командной строки. npm i -g react-native-cli
  5. Обновите свои Nodejs 8 и NPM. nvm install --ltsиnvm install-latest-npm
  6. Удалите ios / build и node_modules (в корневом пути вашего проекта)
  7. Продолжайте снова с помощью npm installи react-native run-iosи обнимите меня :-)

Наконец-то это работает.

  • Mac OS High Sierra 10.13.4
  • Xcode 9.3
  • NPM 5.8.0
  • Узел 8.11.1
  • РН 0,55,2
Линдоэлио Лазаро
источник
1

Использование этой версии для меня работает с xcode 10.1

"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
Ананда Баю Путра Юдхиштира
источник
Я искренне думал, что это будет моим спасением, но даже это не сработало. Так что обновление, нет, я не уверен.
Даниэль
1

Все эти решения не помогли мне. Я только что создал проект rn 0.58.5. И сравнил с моим проектом. Я видел, что JavaScriptCore.frameworkпод Build Phasess>Link Binary With Libraries . После перетаскивания JavaScriptCore встроенная сборка run-ios завершилась успешно.

JavaScriptCore.framework расположение: ‎⁨Macintosh HD⁩ ▸ ⁨Applications⁩ ▸ ⁨Xcode⁩ ▸ ⁨Contents⁩ ▸ ⁨Developer⁩ ▸ ⁨Platforms⁩ ▸ ⁨iPhoneOS.platform⁩ ▸ ⁨Developer⁩ ▸ ⁨SDKs⁩ ▸ ⁨iPhoneOS.sdk⁩ ▸ ⁨System⁩ ▸ ⁨Library⁩ ▸ ⁨Frameworks⁩

JavaScriptCore.framework

агентст
источник
Давая +1, я также использовал 0.58.5, и фреймворк также отсутствовал в моей среде.
Брайан П.
1

Для меня это были зависимости от ios, управляемые cocoapods.

Пришлось сделать это:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Это сработало для меня

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

PS: Пытался выяснить работу, проделанную кем-то другим

user710907
источник
при запуске pod install сказано: [!] В каталоге проекта не найден файл `Podfile '.
Mohammad Mirzaeyan
@MohammadMirzaeyan предположение, что вы сделали pod initи у вас есть действующий подфайл. Пожалуйста, не голосуйте против, если у вас недостаточно знаний, чтобы опровергнуть ваши претензии. Поскольку это был чей-то другой проект, как я уже упоминал, у меня уже был PodFile. Я полностью удалил установку модуля для таких людей, как вы.
user710907
1

Сообщение об ошибке, подобное The domain/default pair of (../ios/Runner/Info, CFBundleIdentifier) does not exist

Значит, Xcode думает, что у вас plistесть invalid format content.

Вам нужно пропустить содержимое Info.plist файла, чтобы выяснить, что с ним не так.

Одна из возможных проблем заключается в том, что эти <key>s и <values>s ( <array>s, <string>s или <bool>s) неправильно спарены. Например:

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

Вам нужно только переместить keyи valueсобрать

<key>UISupportedInterfaceOrientations</key>        //<------ here is the key
<array>                                            //<------ follow with the value
   <string>UIInterfaceOrientationPortrait</string>
   <string>UIInterfaceOrientationLandscapeLeft</string>
   <string>UIInterfaceOrientationLandscapeRight</string>
</array>
JerryZhou
источник
У этого должно быть больше голосов! В моем Info.plist был незакрытый и явно неправильный тег «<string />» посреди ниоткуда. Внимательно проверьте свой файл plist от головы до хвоста.
Дуглас Шмидт
0

Это работает для меня. Нажмите на проект RCTWebSocket в своем навигаторе и удалите флаги в настройках сборки> пользовательские флаги компилятора введите описание изображения здесь

Джексон Гарри
источник
0

Я нашел, как решить проблему: НЕ используйте пробел в пути к проекту! 🎉 😄

Флорис М
источник
0

Это сработало для меня. Следуйте инструкциям https://facebook.github.io/react-native/docs/getting-started.html (Создание проектов с использованием собственного кода).

Перед запуском команды run-ios для реагирования загрузите модуль boost-узла с https://sourceforge.net/projects/boost/files/boost/1.63.0/ и замените node_modules / response-native / third-party / boost_1_63_0

Теперь запустите команду response-native run-ios

ДПМ
источник
0

Когда вы запускаете npm installкоманду, иногда возникает проблема с Интернетом, файлы в node_modules\react-native\third-partyне загружаются должным образом, поэтому проверьте, правильно ли они загружены, если нет, удалите node_modules и установите его снова

затем запустите react-native run-ios команду

Нисарг Таккар
источник
0

Основная причина в том, что порт развертывания не бесплатный. Либо вы перезапустите устройство и освободите все порты, иначе запустите $ lsof -i :8081и найдите процесс, который занимал порт 8081. Завершите процесс, использующий порт 8081, запустив$ kill -9 {process_which_is_running_under_8081}

Гурурадж Джирдж
источник