React Native: «:CFBundleIdentifier», не существует

Кажется, эта ошибка очень специфична для каждого случая, потому что я пробовал все, что описано в этом посте: Печать: Запись, ":CFBundleIdentifier", не существует

Я также пробовал почти все в этом посте, я остановился на 22 мая 2018 года, где auxilioivy дает рекомендацию для символической ссылки: https://github.com/facebook/react-native/issues/7308

Прежде чем сделать символическую ссылку, я обращаюсь ко всем вам.

Обновление моего React Native не вариант.

У меня есть следующее:

"react": "16.2.0",
"react-native": "0.53.3",
"react-native-xcode-packager": "^0.1.0",

"detox": {
    "configurations": {
      "ios.sim.debug": {
        "binaryPath": "ios/build/Build/Products/Debug-iphonesimulator/NFIBEngage.app",
        "build": "xcodebuild -workspace ios/NFIBEngage.xcworkspace -configuration Debug -scheme NFIBEngage -sdk iphonesimulator -derivedDataPath ios/build",
        "type": "ios.simulator",
        "name": "iPhone 6"
      }
    },

Ошибка относится к моему ios/AppName-tvOS/Info.plist:

<key>CFBundleIdentifier</key>
    <string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034identifier)</string>

Фактическая ошибка говорит следующее:

fatal error: 'SplashScreen.h' file not found
#import "SplashScreen.h"
        ^~~~~~~~~~~~~~~~
1 error generated.



** BUILD FAILED **


The following build commands failed:
    CompileC build/Build/Intermediates.noindex/NFIBEngage.build/Debug-iphonesimulator/PROD.build/Objects-normal/x86_64/AppDelegate.o NFIBEngage/AppDelegate.m normal x86_64 objective-c com.apple.compilers.llvm.clang.1_0.compiler
(1 failure)

Installing build/Build/Products/Debug-iphonesimulator/NFIBEngage.app
An error was encountered processing the command (domain=NSPOSIXErrorDomain, code=22):
Failed to install the requested application
The bundle identifier of the application could not be determined.
Ensure that the application's Info.plist contains a value for CFBundleIdentifier.
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Command failed: /usr/libexec/PlistBuddy -c Print:CFBundleIdentifier build/Build/Products/Debug-iphonesimulator/NFIBEngage.app/Info.plist
Print: Entry, ":CFBundleIdentifier", Does Not Exist

Ошибка заставки относится к этой строке в AppDelegate.m:

#import "SplashScreen.h"

но я не знаю, как это связано. Я использую симулятор для XCode 10.1 и High Sierra OSX. Также, если я перейду к Файл -> Настройки проекта:

React Native: «:CFBundleIdentifier», не существует

И на вкладке «Дополнительно» у меня есть:

React Native: «:CFBundleIdentifier», не существует

Последнее, что я пробовал, следуя одной из рекомендаций здесь: https://github.com/facebook/react-native/issues/21382

дал мне это:

cd ios
➜  ios git:(release/3.6.2_build) ✗ pod install
zsh: command not found: pod

По наитию я подумал, что попробую удалить и переустановить react-native-splash-screen после того, как переустановил ту же версию, а затем запустил react-native link react-native-splash-screen Я больше не получаю ошибку о заставке, вместо этого я получаю эту ошибку: caused by: sentry reported an error: You do not have permission to perform this action. (http status: 403)

Может ли это означать, что ошибка экрана-заставки устранена, и теперь я занимаюсь чем-то другим, например, проблемой токена аутентификации Sentry?

Означает ли указанная выше ошибка, что мне нужен auth.token? Если да, то отличается ли он от токена безопасности?

Print: Entry, ":CFBundleIdentifier", Does Not Exist часто является результатом неудачной сборки. Как вы указали в своем вопросе, проблема связана со строкой в ​​AppDelegate.m, куда он импортирует #import "SplashScreen.h". Узнайте, где должен быть этот файл и почему инструмент сборки xcode не может его найти.
hyb175 31.05.2019 00:50

@ hyb175, спасибо за эту подсказку. Я начал изучать его, но не с этим вопросом.

Daniel 31.05.2019 01:00

И просто к вашему сведению, если вам интересно, cocopods — это инструмент управления пакетами для собственных зависимостей ios, который имеет команду pod, поэтому, если вы не используетеcocopods для управления своими зависимостями ios, pod здесь не актуален.

hyb175 31.05.2019 01:03

@ hyb175, нет, никогда не использовал Cocopods для управления пакетами, хотя я видел здесь ссылку на него PRODUCT_BUNDLE_IDENTIFIER = "org.cocoapods.${PRODUCT_NAME:rfc1034identifier}";, когда искал, на что это <key>CFBundleIdentifier</key> <string>org.reactjs.native.example.$(PRODUCT_NAME:rfc1034id‌​entifier)</string> ссылалось.

Daniel 31.05.2019 01:07

@ hyb175, по наитию, я подумал, что попробую удалить и переустановить react-native-splash-screen после того, как я переустановил ту же версию, а затем запустил react-native link react-native-splash-screen Я больше не получаю ошибку о заставке, вместо этого я получаю эту ошибку: caused by: sentry reported an error: You do not have permission to perform this action. (http status: 403) Может ли это быть ошибка заставки устранена, и теперь Я занимаюсь чем-то другим, например, проблемой с токеном аутентификации Sentry?

Daniel 31.05.2019 14:40
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
0
5
3 070
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Итак, по подсказкам, которые я получил от коллеги, который прокомментировал здесь, я нашел эту статью: https://medium.com/handlebar-labs/how-to-add-a-splash-screen-to-a-react-native-app-ios-and-android-30a3cec835ae

Я решил удалить [email protected] и переустановить его так:

npm install [email protected]
react-native link react-native-splash-screen

Конечно, ошибка заставки исчезла.

Другие вопросы по теме