답변:
노드 모듈을 삭제 한 다음 실행 npm install
(또는 더 좋은 방법은 yarn)하고 모든 다운로드가 완료된 후 실행 react-native upgrade
하면 이전 파일을 템플릿 파일로 대체 할 수있는 옵션이 제공됩니다. 이렇게하면 네이티브 종속성을 react-native에서 다시 연결합니다. 문제를 해결해야합니다. 물론 Xcode에서 프로젝트를 정리하는 것을 잊지 마십시오.
react-native upgrade
빌드 중이며 실행 후 모든 빌드 설정이 삭제되었습니다.
xcode Product-> Scheme-> Manage Schemes Target에서 '+'를 클릭하여 "React"를 선택하고 React가 공유되도록 설정합니다.
React Native 0.40.0 이상을 사용하는 모든 경우 헤더 가져 오기가 RN 0.40.0 에서 크게 변경 되어 많은 .h 파일을 찾을 수 없음 오류가 발생합니다. react-native-git-upgrade
디버그 중에 문제를 해결했지만 릴리스 / 아카이브에서 빌드가 실패했습니다.
cocoapods 및 Xcode 8.2.1 과 함께 RN 0.42.3 을 사용 하고 있습니다.
이 문제를 완전히 해결하려면 Xcode> Product> Scheme> Edit Scheme>으로 이동하십시오.
이제 프로젝트를 정리하고 빌드하십시오.
다른 제안 중 어느 것도 내 오류를 수정하지 않았지만 이것은 해냈습니다.
ios/Podfile
다음 콘텐츠로 반응 네이티브 앱 내부에 이름이 지정된 파일을 만듭니다 .
# 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
pod install
ios 폴더 내 에서 명령 을 실행하십시오 .
XCode를 다시 시작하면 오류가 사라집니다.
XCode에서 React 빌드를 처음 실행 한 후이 문제가 발생했으며 실제로 빌드하고 실행하여 오류를 없애기 위해 (팀을 선택하고 적절한 프로비저닝 후)해야했습니다. 때때로 XCode는 처음으로 컴파일하고 링크 할 때까지 실제로 오류가 아닌 오류를 표시합니다.
나를 위해 일하는 해결책은 React
계획 을 공유 하는 것입니다.
React 체계가 없으면으로 새로 Selecting scheme menu -> Manage Scheme -> + -> choose React
만든 다음 React 체계를 공유로 표시하십시오.
또한 Xcode 10을 사용하는 경우 File -> Project Settings
Legacy 빌드 시스템으로 이동하여 선택하십시오.
다음 단계에 따라이 문제를 해결했습니다.
React.xcodeproj
에서 Libraries
프로젝트의 루트.SaleKit
)을 클릭합니다.TARGETS
Build Phases
Target Dependencies
추가 드롭 다운에서React
프로젝트의 기본 디렉토리에서 다음을 실행합니다.
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를 다시 시작했습니다.이 순간부터 모든 것이 예상대로 작동합니다 !!
다음을 시도하십시오.
나는 같은 문제에 직면했다. 그런 다음 노드를 삭제했습니다.이 단계를 사용하십시오.
그런 다음 빌드하고 확인하십시오.
위에서 언급 한 모든 답변을 살펴 보았습니다.
나를 위해 일한 솔루션은 다음과 같습니다.
1 단계:
운영:
npm install react-native-fcm --save
결과적으로 프로젝트의 node_modules> react-native-fcm 아래에 디렉토리가 생성됩니다.
2 단계:
'$(SRCROOT)/../node_modules/react-native-fcm/ios'
빌드 설정에서 헤더 검색 경로에 추가해야합니다 .
이 두 단계는 오류를 제거하는 데 도움이되었습니다.
자세한 내용은 다음 링크를 통해 확인할 수 있습니다.
제 경우에는 node_modules를 삭제하고 다시 설치할 수 없었으며 .60이 내 종속성에 문제를 일으키기 때문에 RN-0.59를 유지하고 싶었 react-native-git-updgrade
거나 할 수 없었습니다 react-native upgrade
.
어쨌든 내 상황은 'React / RCTBundleURLProvider.h'파일이 누락되었습니다. 내 스키마에서 이미 React를 사용할 수 있습니다. 내 라이브러리 디렉토리에 없었습니다. 내 타겟 의 빌드 설정을 확인했습니다.
타겟 의존성 안에서도 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
프로젝트 경로에 공백이 없는지 확인하십시오. 폴더 이름을 바꾸고 공백을 삭제하면 문제가 해결됩니다.