programing

기본/Xcode 업그레이드 대응 및 이제 RCTConvert.h를 찾을 수 없음

prostudy 2022. 4. 4. 21:19
반응형

기본/Xcode 업그레이드 대응 및 이제 RCTConvert.h를 찾을 수 없음

App은 Ract Native 0.35.0에서 정상적으로 실행됨을 통해 0.40.0으로 업데이트한 후react-native-git-upgradeXCode에서 앱을 빌드/실행하려고 할 때 많은 어휘/전처리장치 문제가 발생한다.

React/RCTBridgeModule.h' file not found

이슈를 클릭하면 강조 표시된 내용이 표시됨:

#import <React/RCTBridgeModule.h>

그것은 검색 경로 문제로 보이지 않는다.

node_modules를 삭제하고 실행해 보았다.npm install다시 말하지만 그건 아무것도 해결하지 못했어

th0th에서 지적한 바와 같이, iOS의 RN 0.40에는 획기적인 변화가 있다.간단히 말해서, RN 헤더 선언은 포함 경로를 가리키도록 업데이트된다.$(BUILT_PRODUCTS_DIR)/include/React.

이 문제를 해결하려면 다음을 수행해야 한다.

  1. Xcode에서 프로젝트 체계(Product -> Scheme -> Manage Scheme -> Project를 더블 클릭)로 이동하십시오.
  2. 왼쪽 창에서 '빌드' 옵션을 클릭하십시오.
  3. 빌드 옵션에서 '빌드 병렬화'를 선택 해제하십시오.
  4. 그런 다음 대상 섹션에서 '+' 버튼을 클릭한 다음 'React'를 검색하십시오.이 옵션을 선택하고 '추가'를 클릭하십시오.
  5. 이제 'React'가 Targets 섹션에 표시되어야 한다.목록의 첫 번째 항목(프로젝트 이전)이 되도록 클릭하여 맨 위로 끄십시오.
  6. 프로젝트를 청소하고 빌드하십시오.

참고: react-native-fbsdk와 같은 react-native.h 파일을 참조하는 다른 라이브러리(예: react-native-fbsdk)와 유사한 헤더 문제가 있을 수 있음


반응성 0.40


교체해야 한다.#import "RCTBridgeModule.h"와 함께#import <React/RCTBridgeModule.h>

청소하고 다시 짓는다.

0.40에 변경 사항이 있어 자세한 내용은 여기를 참조하십시오.

릴리스 정보에서 직접 인용:

이것은 모든 iOS 네이티브 라이브러리가 RN 0.40을 위한 주요 버전 범프를 필요로 한다는 것을 의미한다.우리는 이 정도 규모의 변화를 최소화하려고 노력하며, 이로 인해 발생한 불편에 대해 사과한다.

따라서 모든 기본 iOS 라이브러리는 reactive-native 버전 0.40과 호환되기 전에 업데이트가 필요할 것이다.

나도 같은 문제가 있었어.빌드 계획에서 내 앱의 테스트 대상을 제거하여 해결했다.

만약 당신의 앱이 크지 않다면,

1) rename original app
2) create the same app again react-native init <orig_app_name>
3) copy over all necessary files from your original app to the newly created one
4) adjust the package.json
5) npm install
6) react-native run-<ios|android>

새 도서관을 어디에 연결해야 할지 찾는 데 몇 시간을 보냈는데, 그것은 적어도 나에게 소중한 선택사항이자 지름길이었다.

그것이 에게 도움이 되기를 바라다.

팟을 사용하는 경우 다음 솔루션을 사용해 보십시오.

헤더 검색 경로로 이동:Pods -> TARGETS -> (YOUR TARGET, like my target is RNGL) -> Build Settings -> All -> Search Paths -> Header Search Paths

경로 추가:"${PODS_ROOT}/Headers/Public/React"무반복의

이 단계는 내 문제를 해결하는 데 도움이 되었다.나는 "병렬 빌드 확인 해제" 단계를 시도했다.그것은 나에게 효과가 없었다.

  1. XCode에서 프로젝트를 여십시오.
  2. 라이브러리 폴더를 여십시오.React.xcodeproj 및 여러 RCT*.xcodeproj를 참조하십시오.
  3. React.xcodeproj를 다른 프로젝트 각각에 끌어다 놓으십시오.
  4. 각 프로젝트를 클릭하고 빌드 단계 탭으로 이동하십시오.
  5. 대상 종속성을 클릭하고 대상 종속성으로 대응 추가

내가 어떻게 작동하게 만들었는지는 다음과 같다.

  • 나는 소포를 청소했다.최신 버전의 json,
  • @max23_까지 트릭을 했다.
  • 나는 모든 것을 교체했다.#import '....h' 에러를 은 것이다.#import <React/.....h>.

업데이트 위치

"RCT/BridgeModule 가져오기.h"

"Ract/RCT/BridgeModule 가져오기.h"

청결하고 체격

비록 시험해 보지는 않았지만, 나는 내가 아무런 변화도 하지 않고 단지 청소하고 건설하는 것이 그 속임수를 썼을 것이라고 의심한다.

경로 변경 위치:

#import <React/RCTBridgeModule.h>

다음으로:

#import <React/Base/RCTBridgeModule.h>

날 위해 일했어

참조URL: https://stackoverflow.com/questions/41477241/react-native-xcode-upgrade-and-now-rctconvert-h-not-found

반응형