Ответ 1
Моя проблема была в том, что моя сборка была в режиме Release вместо режима Debug. В результате идентификатор указывал на то, чего не было. Я изменил тип сборки и закончил работу.
Когда я запускаю react-native run-ios
, сборка завершается успешно, но я получаю ошибку ниже. Я проверил все это место, но ничего не работает. Использование sudo
перед командой не помогает. Я использую Xcode 7.3, response-native-cli: 0.2.0, response-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)
Моя проблема была в том, что моя сборка была в режиме Release вместо режима Debug. В результате идентификатор указывал на то, чего не было. Я изменил тип сборки и закончил работу.
Открыть проект в Xcode
Если Xcode> 9 запускает командную react-native upgrade
(это перезаписывает все ваши конфигурации iOS, используйте с осторожностью !)
затем
1.Go to File → Настройки проекта
2. Нажмите кнопку "Дополнительно"
3. Выберите "Пользовательский" и выберите "Относительно рабочей области" в раскрывающемся списке
4. Измените "Build/Products" на "build/Build/Products"
5. щелкнуть, сделать
Это может произойти, если вам не хватает файла config.h,
Для файла конфигурации config.h,
1) Закройте свой Xcode.
2) Откройте терминал, перейдите в корневую папку проекта и выполните:
cd node_modules/react-native/third-party/glog-{X}.{X}.{X}/
3) Запустите скрипт configure:
./configure
4) Откройте Xcode и попробуйте запустить приложение.
{X}: номер версии glog
Update React, используя обновление на основе react-native upgrade
сделал это для меня.
Отказ от ответственности: это перезаписывает все ваши конфигурации iOS, используйте с осторожностью !
Если вы используете Xcode 10, это может быть связано с несовместимостью с последней системой сборки Xcode. Попробуйте перейти на устаревшую систему сборки.
Откройте Xcode 10, "Файл"> "Настройки проекта"> "Система сборки"> и переключитесь в выпадающий список "Старая система сборки".
Я также столкнулся с этой проблемой, и я нашел способ ее исправить.
Вот что я сделал:
1) Убедитесь, что в каталоге файлов нет пробелов.
2) cd каталог проекта
3) выполните команду реагировать на обновление
4) Перейдите в папку native ios и откройте проект xcode.
5) Перейдите в меню Файл > Настройки проектa > Дополнительно...
6) выберите custom > Относительно рабочей области
7) путь к продуктам должен быть "build/Build/Products"
8) путь промежуточных путей должен быть 'build/Build/Intermediates'
9) теперь попробуйте запустить команду в своем терминале реагировать-native run-ios
Я надеюсь, что эти решения помогут некоторым из нас решить эту проблему.
Для [email protected]
следующее трюк для меня:
1) Проверьте свои пути, откройте файл .xcodeproj(not.xcworks) и:
перейдите в меню "Файл" > "Настройки проекта" > "Дополнительно"
custom > Относительно рабочей области
'build/Build/Products'
'build/Build/Intermediates'
2) Запустите rm -rf ios/build
в корневом каталоге проекта
3) Закройте реактивный упаковщик
4) Запустите react-native run-ios
снова
У меня это случилось со мной, когда моя папка node_modules стала виной после установки нового пакета. Я убил папку rm -rf node_modules
, а затем сделал npm install
, чтобы переустановить мои пакеты и исправил их.
Сообщение " Print: Entry, ":CFBundleIdentifier", Does Not Exist
просто указывает, что ваш проект не удалось скомпилировать или связать. Вам нужно будет вернуться через ваш выход, чтобы найти подсказку о фактической первопричине.
Если у вас возникли проблемы, посмотрите на полный вывод сборки, а не на несколько последних строк. Вы можете открыть проект в Xcode и нажать ⌘B для его создания. Ошибки сборки в Xcode должны помочь вам найти основную причину сбоя.
Если вы получили эту ошибку, возможно, вы не указали правильный путь для своего приложения.
Произошла ошибка при обработке команды (домен = NSPOSIXErrorDomain, код = 2): не удалось установить запрошенное приложение. Пакет приложения не найден по указанному пути. Укажите правильный путь к нужному пакету приложений. Печать: запись, ": CFBundleIdentifier", не существует
React Native жестко закодировал его как часть своей команды run-ios в runIOS.js
build/Build/Products/${configuration}-${isDevice ? 'iphoneos' : 'iphonesimulator'}/${appName}.app
К сожалению, Xcode имеет разные пути сборки в зависимости от вашей конфигурации и от того, используете ли вы Xcode Project или Workspace. Я считаю, что путь по умолчанию для проекта Xcode - это build/Products
.
Я отправил этот запрос 11899, чтобы дать программистам больше гибкости от CLI.
Для меня это была проблема с случайной настройкой модулей с использованием Cocoapods и react-native link
в одно и то же время.
Не смешивайте эти два для одинаковых модулей!
Я исправил это, удалив /build/
и снова react-native run-ios
Вы проверили, что вы объявили идентификатор пакета? Вы можете сделать это, щелкнув файл проекта в xcode, а затем выбрав вкладку "Общие", и он указан в первом текстовом поле в разделе "Идентификация". Еще один способ проверить - проверить файл info.plist в папке ios вашего проекта. Вот как это показано в моем info.plist. Мой фактический идентификатор связки для моего проекта находится в xcode.
<key>CFBundleIdentifier</key>
<string>$(PRODUCT_BUNDLE_IDENTIFIER)</string>
В моем случае я вытягиваю проект из git, а также включает папку ios.
Сначала я rm -rf ios
ios folder rm -rf ios
затем rm -rf ios
react-native upgrade
Вы можете выполнить следующие шаги для устранения этой ошибки:
Шаг 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
Надеюсь, это сработает !!!
Я перепробовал все эти решения, но одно из них сработало:
react-native upgrade
Я обновил Xcode до версии v8, и ошибка была решена.
0,44 нормально работать, но 0.45 не может, может быть, проблема версии Я решил это с помощью следующей команды: rninit init TaxiApp --source [email protected];
Мой терминал выдает одно и то же сообщение из-за удаления некоторых симуляторов, которые я не использую в Xcode.
Если вы запустите react-native run-ios
без каких-либо конкретных параметров, в моем случае action-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"
, проблема решена.
Через пару месяцев, пробовав все ответы, я наконец обновил свою ОС до Sierra, обновил XCode до последней версии и с этим исчезнут все ошибки. Надеюсь, это поможет некоторым людям!
Добавляя, это работает для меня, когда ничего не исправляется:
npm я -g react-native-git-upgrade && react-native-git-upgrade
npm я -g react-native-cli
nvm install --lts
и nvm install-latest-npm
npm install
и react-native run-ios
и обними меня :-)Наконец он работает.
Использование этой версии для меня работает с xcode 10.1
"react": "16.6.0-alpha.8af6728",
"react-native": "0.57.4"
Все эти варианты решения не спомогли мне. Я только что создал проект рН 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
Для меня это были 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: пытался выяснить работу, проделанную кем-то другим
Эта работа для меня Нажмите на проект RCTWebSocket в своем навигаторе и удалите флаги в настройках сборки > настраиваемые флаги компилятора
Я нашел, как решить проблему: НЕ используйте пробел в своем пути к проекту! 🎉 😄
Решение MAC для людей, сталкивающихся с этой проблемой, с реакционной версией 0.45.1
После прохождения многих решений это то, что я скомпилировал для
Прежде всего, важно, чтобы на вашем Mac была установлена последняя версия Xcode.
Проверьте, содержит ли ваше имя проекта пробелы. Если он так любезно удалит пробелы.
Многие пользователи, включая меня, обнаружили эту проблему из-за последней выпущенной версии action-native 0.45.1, поэтому, если вы используете эту версию, вы можете перейти на более стабильную версию (т.е. 0.44.0), используя следующий шаг
Чтобы проверить свой текущий тип родной версии
response-native -v
3.1 Если вы создали свой проект.
Go to your current Project directory through terminal and type
npm install react-native- git -upgrade (если он уже установлен, пропустите этот шаг)
response-native- git -upprade 0.44.0
Переход на эту версию решил мою проблему.
3.2 Если вы собираетесь создать новый проект, попробуйте использовать строку ниже
response-native init Имя_проекта -v 0.44.0
заменить имя ProjectName на ваше имя проекта.
После установки проверьте текущую версию реакции и версию, указанную во время установки, если они совпадают. Если нет, попробуйте выполнить шаг 3.1 после создания проекта.
Если по-прежнему существует одна и та же проблема, прокомментируйте ниже, чтобы я попытался найти несколько обходных решений.
Это сработало для меня. Выполните шаги https://facebook.github.io/react-native/docs/getting-started.html (Создание проектов с использованием собственного кода).
Перед запуском команды реагировать-native run-ios загрузите модуль повышения node из https://sourceforge.net/projects/boost/files/boost/1.63.0/ и замените node_modules/react-native/third-party/boost_1_63_0
Теперь запустите команду реакция-native run-ios
Когда вы запустите команду npm install
для некоторой проблемы интернет-времени, файлы в node_modules\react-native\third-party
неправильно загружены, поэтому проверьте, правильно ли она загружена или нет, если нет, удалите node_modules и установите его снова
затем выполните команду react-native run-ios
Основная причина заключается в том, что развертывание порта не является бесплатным. Либо вы перезагрузите устройство, либо запустите все порты бесплатно, запустите $ lsof -i :8081
и найдите процесс, который занял порт 8081. Убейте процесс, который использует порт 8081, запустив $ kill -9 {process_which_is_running_under_8081}