Друк: Запис, ": CFBundleIdentifier", не існує


117

Коли я запускаю, react-native run-iosзбірка вдається, але я отримую помилку нижче. Я перевіряв всюди, але, здається, нічого не працює. Використання sudoперед командою також не допомагає. Я використовую 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)

І чи існує ідентифікатор пакету у файлі? Я припускаю, що ні, тому питання в тому, "чому це не записується у файл".
trojanfoe

Це насправді не допомагає. Чи можете ви докладно?
астіефель

Для мене це пов'язано з проблемою сумісності з реальною реакцією з Xcode9.4. Я вирішив, скориставшись наступними кроками. "rm -rf node_modules", то "update-native upgrade", то "npm install", потім "react-native run-ios"
raja

Раджа .. Ви впевнені, що після запуску папки node_modules ви зможете запустити модернізовану реакцію? Я спробував, і він сказав, що оновлення не було розпізнано
VK1

Просто закрийте свій термінал, відкрийте його ще раз і запустіть додаток, який він працював на мене.
Чандні

Відповіді:


110

Відкрити проект у Xcode

Якщо команда запуску Xcode> 9 react-native upgrade(це перезаписує всі ваші конфігурації iOS, використовуйте обережно !)

тоді

1.Перейти до файлу -> Налаштування проекту

2. Натисніть кнопку «Додатково»

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 - утримуючи клавішу опції з відкритим меню Файл, це також не відображається
Pat Needham

1
@PatNeedham "Налаштування проекту" було перейменовано на "Налаштування робочої області"
Toby Caulk

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


Дякую!! це заощадило мій час.
Gurjinder Singh

6
Я встановив "реально" з нуля, створив свій перший проект, але не зміг його працювати. Ця відповідь виправила мою проблему. Цікаво, чому це трапляється, адже це свіжа та нова установка
Антоніо

Розумієте, чому це відбувається?
Патрік Басут

Це працювало для мене. Свіже установку реагувати нативним 0.55, Xcode версії 10
мат

1
... що робити, якщо configureсценарію немає , як у 0,58?
Скотт

29

Оновлення React за допомогою react-native upgradeзробив це для мене.

Відмова від відповідальності : це замінює всі ваші конфігурації iOS, використовуйте обережно !


30
перезапис усіх файлів iOS замінить усі налаштування, зроблені вашим проектом. Лол. використання на власний ризик відмови від відповідальності - це найменше, що ви могли зробити.
AlxVallejo

1
Буде корисно, якби хтось міг пояснити, що означає "всі ваші конфігурації iOS".
Андрій Костер

25

Якщо ви використовуєте Xcode 10, це може бути пов'язано з несумісністю з останньою системою збирання Xcode. Спробуйте перейти на застарілу систему збирання.

Відкрийте Xcode 10, Файл> Налаштування проекту> Система побудови> переключіться на спадщину Система збірки.

Знімок екрана


щури! Я втратив два робочі дні до цього питання. Що божевільно, це моя конструкція CLI працювала чудово до 3 днів тому. Ніякої ідеї wtf не сталося. Це також не вирішило проблему. Хочете побачити, як мій плач переріс? TT
Майк С.

10

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


3
Але що робити, якщо ви хочете запустити проект у режимі випуску?
Тієм


@astiefel Я думаю, що саме це відбувається і зі мною. Як ви змінили тип збірки до речі?
JohnnyQ

@JohnnyQ Перейдіть до Product-> Scheme-> Edit Schemeі виберіть Налагодження в розділі Конфігурація збірки
astiefel

10

Я також натрапив на це питання, і я знайшов спосіб виправити це

Ось що я зробив:

1) Переконайтеся, що в каталозі файлів немає пробілів.

2) каталог проектів cd

3) запустити команду -реактивне оновлення

4) Перейдіть до рідної папки ios та відкрийте проект xcode.

5) Перейдіть у меню Файл> Налаштування проекту> Додатково ...

6) виберіть користувацький> Відносно робочої області

7) шлях продукту має бути "будувати / будувати / продукти"

8) шлях проміжних продуктів повинен бути "будувати / будувати / проміжні"

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

Я сподіваюся, що ці рішення допоможуть комусь із нас, що стикаються з цим питанням.


21
не працює для мене, у мене є ця помилка: Запис, ": CFBundleIdentifier", не існує
Mehrnoosh

9

Бо react-native@0.46.4наступне зробив для мене трюк:

1) Перевірте свої шляхи, відкрийте файл .xcodeproj (не .xcworkspace) і:

  • перейдіть у меню Файл> Налаштування проекту> Додатково

  • custom> Відносно робочої області

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

2) Запустіть rm -rf ios/buildу кореневому каталозі вашого проекту

3) Закрийте пакувальник реагування

4) Біжи react-native run-iosзнову


Також працює над: "реагувати": "16.2.0", "реагувати-рідне": "0.52.0",
Раджу вашПепе

Це вирішене для мене питання після додавання залежностей через 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 команда
reakct

6

Якщо ви отримали цю помилку, ви, мабуть, не маєте правильного шляху для вашої заявки.

Виникла помилка при обробці команди (домен = NSPOSIXErrorDomain, код = 2): Не вдалося встановити запитувану програму. Пакет програми не знайдено у наданому шляху. Надайте дійсний шлях до потрібного пакета програм. Друк: Запис, ": CFBundleIdentifier", не існує

React Native жорстко кодував це як частину команди run-ios в runIOS.js

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

На жаль, Xcode має різні контури збірки залежно від вашої конфігурації та від того, чи використовуєте ви проект Xcode або робочу область. Я вважаю, що шлях для проекту Xcode за замовчуванням є build/Products.
Я подав цей запит 11899 на те, щоб надати програмістам більшу гнучкість від CLI.


3

Для мене це була проблема з випадковим налаштуванням модулів за допомогою Cocoapods & react-native linkодночасно.

Не змішуйте ці два для одних і тих же модулів!


То як з цим обійтись?
Ісаак

@Isaac nuke кеш і встановити за допомогою посилання cocoapods / reakct-native, залежно від того, як налаштований ваш проект
Buruiană Cătălin

3

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


@EranOr Ви бачите Provide a valid path to the desired application bundle.у своїй консолі? Спробуйте такі налаштування file => 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
Так, я це перевірив. Помилка полягала в тому, що мій код був у режимі випуску замість режиму налагодження.
астіефель

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. працює чудово!

дякую Елі, я вирішив цю проблему, просто запустивши "реагувати на рідні оновлення"
javeedishaq

Для тих, хто працює у корпоративних середовищах, я б закликав бути обережними у використанні цього рішення. Необхідно планувати модернізацію корінного для реагування ядра, оскільки це може негативно вплинути на роботу інших. Запитайте спочатку.
Майк С.


1

0,44 - це нормально для запуску ,, але 0,45 не може , можливо проблема проблеми з версією я вирішив це наступною командою: rninit init TaxiApp - ресурс react-native@0.44.0;


1

Мій термінал вискакує те саме повідомлення через видалення деяких тренажерів, які я не використовую в Xcode.

Якщо ви react-native run-iosне працюєте з жодними конкретними параметрами, реактивний реактор запустить симулятор за замовчуванням, який є 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", проблема вирішена.


Ідеально! Дякую!
Асинокс

1

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


1

Додавання, це працює для мене, коли нічого вище не виправлено:

  1. Встановіть оновлення react-native-git та оновіть свій проект. npm i -g react-native-git-upgrade && react-native-git-upgrade
  2. Відкрийте Xcode -> File -> Settings settings -> Advanced.
  3. Виберіть " Користувацький ", потім виберіть " Відносно робочої області ", а потім натисніть "Готово".
  4. Оновіть CLI. 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
  • НПМ 5.8.0
  • Вузол 8.11.1
  • 0,55,2 RN

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 залежності, якими керували какаоди.

Довелося це зробити:

$ cd ToProject/ios

$ pod install

$ react-native run-ios

Це працювало для мене

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

PS: Намагався з’ясувати роботу, яку робив хтось інший


запускається pod install сказав: [!] У каталозі проекту не знайдено `Podfile '.
Мохаммед Мірзаяян

@MohammadMirzaeyan припущення, що ви зробили, pod initі у вас є дійсний Podfile. Будь ласка, не зволікайте, якщо у вас недостатньо знань, щоб протиставити свої претензії. Оскільки це був чийсь проект, як я вже згадував, у мене вже був PodFile. Я повністю видалив налаштування стручка для таких людей, як ви.
користувач710907

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>

Це повинно мати більше грошей! У моєму Info.plist посеред нізвідки був незакритий і простий неправильний тег '<string />'. Уважно перевірте файл плістів від голови до хвоста.
Дуглас Шмідт

0

Ця робота для мене Клацніть проект RCTWebSocket у своєму навігаторі та видаліть прапори в налаштуваннях збірки> спеціальні прапорці компілятора введіть тут опис зображення


0

Я з’ясував, як вирішити проблему: НЕ використовуйте місця у своєму проектному шляху! 🎉 😄


0

Це працювало для мене. Виконайте кроки https://facebook.github.io/react-native/docs/getting-started.html (Будівництво проектів з Native Code).

Перш ніж запустити команду run-ios run-reaktion , завантажте модуль вузла підвищення з https://sourceforge.net/projects/boost/files/boost/1.63.0/ react та замініть node_modules / react-native / third-party / boost_1_63_0

Тепер біжіть реагують рідний пробіг КСН команда


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}

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.