“RCTBundleURLProvider.h”파일을 찾을 수 없습니다-AppDelegate.m
XCode에서 React Native 앱을 실행하려고 하는데이 오류가 계속 발생합니다. 문제를 해결하는 방법을 알 수 없습니다. 어떤 제안?
XCode의 오류 스크린 샷 :
노드 모듈을 삭제 한 다음 실행 npm install
(또는 더 나은 원사)하고 모든 다운로드가 완료되면 실행 react-native upgrade
하면 오래된 파일을 템플릿 파일로 대체 할 수있는 옵션을 제공하여 기본 종속성을 반응 네이티브로 다시 연결합니다. 문제를 해결해야합니다. 물론 Xcode에서 프로젝트를 정리하는 것을 잊지 마십시오.
xcode 제품-> 구성표-> 구성표 관리 대상에서 '+'를 클릭하여 "반응"을 선택하고 반응이 공유되도록 설정하십시오.
React Native 0.40.0 이상을 사용하는 모든 사용자에 대해 헤더 가져 오기는 RN 0.40.0 에서 크게 변경 되어 많은 .h 파일을 찾을 수 없음 오류가 발생합니다. react-native-git-upgrade
디버그하는 동안 문제가 해결되었지만 릴리스 / 아카이브에서 빌드가 실패합니다.
Cocoapod 및 Xcode 8.2.1에서 RN 0.42.3 을 사용 하고 있습니다.
이 문제를 완전히 해결하려면 Xcode> 제품> 구성표> 구성표 편집>으로 이동하십시오.
이제 프로젝트를 정리하고 빌드하십시오.
다른 제안 중 어느 것도 내 오류를 수정하지 않았지만이 오류가 해결되었습니다.
1-Podfile 작성
ios/Podfile
다음과 같은 내용으로 react-native 앱 안에 이름이 지정된 파일을 만듭니다 .
# You Podfile should look similar to this file. React Native currently does not support use_frameworks!
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '8.0'
target '<YOUR_APP_NAME>' do
# Fixes required for pod specs to work with rn 0.42
react_native_path = "../node_modules/react-native"
pod "Yoga", :path => "#{react_native_path}/ReactCommon/yoga"
pod "React", :path => react_native_path, :subspecs => [
'Core',
'RCTActionSheet',
'RCTAnimation',
'RCTGeolocation',
'RCTImage',
'RCTLinkingIOS',
'RCTNetwork',
'RCTSettings',
'RCTText',
'RCTVibration',
'RCTWebSocket'
]
pod 'GoogleMaps' # <~~ remove this line if you do not want to support GoogleMaps on iOS
# when not using frameworks we can do this instead of including the source files in our project (1/4):
# pod 'react-native-maps', path: '../../'
# pod 'react-native-google-maps', path: '../../' # <~~ if you need GoogleMaps support on iOS
end
2-Podfile 설치
pod install
ios 폴더 내부 에서 명령 을 실행하십시오 .
3-XCode 재설정
XCode를 다시 시작하면 오류가 사라집니다.
XCode에서 React 빌드를 처음 시도한 후에이 문제가 발생했으며 실제로 팀을 선택하고 적절한 프로비저닝 후 오류를 없애기 위해 실제로 빌드하고 실행해야했습니다. 때때로 XCode는 처음 컴파일하고 링크 할 때까지 실제로 오류가 아닌 오류를 표시합니다.
다음 단계에 따라이 문제를 해결했습니다.
- xcode에서 프로젝트 루트를 선택하십시오.
- 드래그
React.xcodeproj
에서Libraries
프로젝트의 루트. - 에서 프로젝트 이름 (내 경우에는 name
SaleKit
)을 클릭하십시오.TARGETS
- 고르다
Build Phases
Target Dependencies
추가 드롭 다운React
- 재 구축 또는 재실행
ReactNative "0.54.2"의 경우에는 다음 해결책으로 해결했습니다.
Xcode select Product->Scheme->Manage Schemes
에서 'YourProject'-tvOS를 선택 해제하여 공유하지 않음으로 설정하십시오.
나에게 맞는 해결책은 React
계획 을 공유 하는 것입니다.
React 구성표가없는 경우으로 새 Selecting scheme menu -> Manage Scheme -> + -> choose React
구성표를 만든 다음 React 구성표를 공유로 표시하십시오.
또한 Xcode 10을 사용하는 경우 File -> Project Settings
레거시 빌드 시스템으로 이동하여 선택하십시오.
npm install
프로젝트 디렉토리에서 실행 react-native
하여이 오류를 해결하십시오.
.xcodeproj
포드를 설치 한 후 파일을 실행 중일 수 있습니다 .
닫고 .xcworkspace
파일을여십시오. 그것은 나를 위해 일했다.
나는 같은 문제가 있었고 RNFIRMessaging.h를 React / RCTBundleURLProvider.h 위에 두어 문제를 해결했습니다.
따라서 다음과 같이 보입니다.
#import "AppDelegate.h"
#import "RNFIRMessaging.h"
#import <React/RCTBundleURLProvider.h>
#import <React/RCTRootView.h>
다음을 시도하십시오 :
- 청소 ( cmd+ shift+ K)
- 핵심 React 빌드-Xcode에서 스키마로 React를 선택하고 빌드하십시오 ( cmd+ B).
- 실패한 라이브러리를 빌드하십시오 (예 : RCTText).
- 앱을 빌드하십시오.
최고의 솔루션 :
Xcode에서 프로젝트의 '빌드 설정'을 열고 '헤더 검색 경로'를 검색하십시오.
다른 속성에 '예'또는 '아니오'가있는 '헤더 검색 경로'옆을 두 번 클릭하십시오.
이제 빌드 설정 아래의 "헤더 검색 경로"에 다음을 추가하십시오.
$ (SRCROOT) /../ node_modules / react-native / React $ (SRCROOT) /../ node_modules / react-native / React / Base 두 가지 모두 재귀 적으로 만드십시오.
나는 같은 문제에 직면했다. 그런 다음이 단계를 사용하기 위해 노드 .try를 삭제했다.
- node_modules 폴더 삭제-rm -rf node_modules && npm install
- 패키저 캐시 재설정-rm -fr $ TMPDIR / react- * 또는 node_modules / react-native / packager / packager.sh --reset-cache
- Clear Watchman 시계-Watchman Watch-del-all
그런 다음 빌드하고 확인하십시오.
프로젝트의 기본 디렉토리에서 다음을 실행합니다.
node_modules/react-native/packager/packager.sh --reset-cache
결과 :
Scanning 554 folders for symlinks in /Users/..../work/..../react_tutorial/AwesomeProject/node_modules (15ms)
┌────────────────────────────────────────────────────────────────────────────┐
│ Running packager on port 8081. │
│ │
│ Keep this packager running while developing on any JS projects. Feel │
│ free to close this tab and run your own packager instance if you │
│ prefer. │
│ │
│ https://github.com/facebook/react-native │
│ │
└────────────────────────────────────────────────────────────────────────────┘
Looking for JS files in
/Users/..../work/...../react_tutorial/AwesomeProject
Loading dependency graph... ERROR Packager can't listen on port 8081
Most likely another process is already using this port
Run the following command to find out which process:
lsof -i :8081
다른 패키지 프로세스가 실행 중일 때 패키지 관리자를 실행할 수 없다는 것을 알았습니다.
프로세스가 실행 중임을 발견했습니다.
lsof -i :8081
나는 kill 9 ...
과정 보다 .
Xcode를 닫은 후 다음을 실행하십시오.
npm install
그리고 Xcode를 다시 시작했습니다.이 순간부터 모든 것이 예상대로 작동합니다!
React를 업그레이드 한 후이 문제에 대한 수정은의 선언 #import "RCTBundleURLProvider.h"
을#import <React/RCTBundleURLProvider.h>
제품-> 구성표-> 구성표 관리-> +를 클릭하십시오. 그런 다음 반응을 공유로 추가하십시오. 또한 프로젝트 이름도 있는지 확인하십시오.
실행 npm install
하지 않으면 이 문제가 발생할 수 있습니다.
나는 모든 제안을 시도했지만 그들 중 아무도 리포지토리를 삭제하고 다시 복제하고 저를 위해 일한 적이 없었습니다. 그래서 내 제안은 변경 사항을 다시 커밋하고 저를 위해 일한 리포지를 다시 복제하는 것입니다.
위에서 언급 한 모든 답변을 겪었습니다.
나를 위해 일한 해결책은 다음과 같습니다.
1 단계:
운영:
npm install react-native-fcm --save
결과적으로 프로젝트의 node_modules> react-native-fcm 아래에 디렉토리를 만듭니다.
2 단계:
'$(SRCROOT)/../node_modules/react-native-fcm/ios'
빌드 설정에서 헤더 검색 경로에 추가해야합니다 .
이 두 단계는 오류를 제거하는 데 도움이되었습니다.
자세한 내용은 다음 링크를 통해 확인할 수 있습니다.
https://github.com/evollu/react-native-fcm/issues/63
https://github.com/evollu/react-native-fcm/issues/21
필자의 경우 node_modules를 삭제하고 다시 설치할 수 없으며 .60으로 인해 종속성에 문제가 발생하기 때문에 RN-0.59를 유지하고 싶 react-native-git-updgrade
거나 할 수도 없었습니다 react-native upgrade
.
어쨌든 내 상황은 'React / RCTBundleURLProvider.h'파일이 누락되었다는 것입니다. 이미 스키마에서 React를 사용할 수있었습니다. 내 라이브러리 디렉토리에 없었습니다. 내 검사 대상 의 빌드 설정을.
대상 종속성 내부에서 나는 또한 거기에 반응했습니다.
'React'대상 종속성을 삭제 한 다음 다시 추가했습니다. 정리 된 빌드 폴더, 프로젝트를 다시 빌드했습니다. 효과가있었습니다.
터미널 실행에서 반응 네이티브를 설치해야합니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
그때
brew install node
brew install watchman
npm install -g react-native-cli
출처 :
https://facebook.github.io/react-native/docs/getting-started.html
프로젝트 경로에 공백이 없는지 확인하십시오. 폴더 이름을 바꾸고 공백을 삭제하면 문제가 해결됩니다.
참고 URL : https://stackoverflow.com/questions/40368211/rctbundleurlprovider-h-file-not-found-appdelegate-m
'IT박스' 카테고리의 다른 글
MongoDB : initAndListen 예외 : 20 읽기 전용 디렉토리에 잠금 파일을 작성하려고 시도했습니다 : / data / db, 종료 (0) | 2020.07.16 |
---|---|
JavaScript에서 두 날짜의 월 차이 (0) | 2020.07.16 |
소스 코드 예제를 Microsoft Word 문서에 삽입하는 가장 좋은 방법은 무엇입니까? (0) | 2020.07.15 |
jQuery UI Sortable 다음 데이터베이스에 순서를 씁니다. (0) | 2020.07.15 |
os.path.basename ()과 os.path.dirname ()의 차이점은 무엇입니까? (0) | 2020.07.15 |