ProgramingTip

React Native 프로젝트에서 ios 폴더를 어떻게 다시 생성 할 수 있습니까?

bestdevel 2020. 11. 29. 12:05
반응형

React Native 프로젝트에서 ios 폴더를 어떻게 다시 생성 할 수 있습니까?


그래서 얼마 전에 반응 될 앱에서 / ios 디렉토리를 삭제했습니다 (X라고 부르겠습니다). 나는 안드로이드 에뮬레이터를 사용하여 개발하고 테스트했지만 이제는 xcode 시뮬레이터 등으로 iOS에서 작동하는지 확인하고 싶습니다.

그래서 내 현재 아이디어는 ios 폴더로 새로운 반응과 베어 프로젝트 (Y라고 부 사용)를 만든 다음 다음따라 Y의 이름을 X로 변경 한 다음 / ios 디렉토리를 Y에서 X로 이동하고하려고합니다 run-ios.

여기에서 어떻게 진행하더라도 업데이트하겠습니다.하지만 더 나은 방법이 있고 궁금한 이전에 상황에 없나요?

나는 'ios 폴더 재생성' 'ios 폴더 삭제' '기존에 ios 폴더 추가 ..'를 많이 봤는데 도움이되지 않았습니다. 아마도 내 googlefu가 충분하지 않지만 누군가 제안이 있습니다 대단히 감사합니다.

2 단계는 구성 및 항목으로 진행될 것입니다. / ios 폴더를 다시 가져오고 React Native가 해당 폴더의 존재를 인식하도록합니다 (필요한 모든 것이 있음).

감사합니다


따라야하는 프로세스는 반응 방식 앱의 이름을 바꾸는 것과 매우 유사합니다. 기본적으로 react-native upgrade루트 디렉토리에서 실행 하기 만하면 됩니다. 자세한 정보는 여기에서 다른 질문을 확인할 수 있습니다 . 아래 지침은 새 이름으로 복사 된 프로젝트를 기반으로 다른 반응 프로젝트를 만드는 방법을 설명합니다.

  • 먼저 이름이 변경 될 애플리케이션이있는 디렉토리를 복사하십시오. 그리고 새로 복제 된 디렉토리로 이동합니다.
  • index.ios/android.js매개 변수로 저장 파일 의 이름 을 AppRegistry로 변경 파일 .
  • 그에 따라 이름과 버전을 변경하십시오. package.json
  • 이전 앱에서 남아있는 폴더 /ios삭제 /android합니다.
  • 다시 $react-native upgrade생성 /ios하고 /android폴더를 실행 하십시오.
  • $react-native link모든 기본 준비에 대해 실행 하십시오 .
  • 마지막으로 실행

    $react-native run-ios하거나 원하는 것을 선택하십시오.

android 및 ios (백업 android 및 ios 폴더 유지)를 제거하고 다음 명령을 실행하기 만하면됩니다.

  react-native eject

Supported version : 
    react-native <= 0.59.10
    react-native-cli <= 1.3.0 



   react-native upgrade --legacy true

Supported version : 
        react-native >= 0.59.10
        react-native-cli >= 1.3.0 

참조 : 링크


react-native 0.60.x부터 다음을 사용하여 ios / android 디렉터리를 다시 생성 할 수 있습니다.

react-native upgrade --legacy true

여기에 신용 : https://github.com/facebook/react-native/issues/25526


이 너무 늦었지만 여전히 같은 문제가 있고 분리 된 반응 기본 앱이있는 사람을 위해 내가 한 일을 분리 된 앱에서 분리를 실행하고 ios 폴더를 생성했습니다!


@Alok가 주석에서 언급했듯이 폴더 react-native eject를 생성 할 수 있습니다 . 먼저 먼저 프로젝트에 필요 합니다 .iosandroidapp.json

{"name": "example", "displayName": "Example"}

나도이 문제를 발견했지만 방금 해결했습니다.

확실히 "react-native upgrade"명령을 사용했을 때 업데이트가 필요하지 않다는 메시지 나 명령이 인식되지 않는다는 "react-native eject"명령을 사용했습니다.

반응

이제 "react-native upgrade --legacy true"명령을 사용하여 Android 폴더 또는 iOS를 백업해야합니다.이 명령이 파일을 대체 할 수 있기 때문입니다.

반응 외장 업그레이드-레거시 참

이제 package.json을 교체하지 말라고 말하는 것입니다.


react-native eject는 60.3에서 60.3으로 업그레이드하려고 시도하는 diff 오류가 발생했기 때문에 android 폴더가 작동하지 않습니다.

나는해야했다

rm -R node_modules

그런 다음 package.json의 react-native를 59.1로 업데이트합니다 (package-lock.json 제거).

운영

npm install

react-native eject

그러면 Android 및 iOS 폴더가 다시 생성됩니다. 마지막으로 60.3으로 다시 업그레이드

react-native upgrade

59.1은 내 안드로이드 폴더를 다시 생성 할 필요가 있고 처리했습니다.


먼저 ios 폴더 제거

 react-native eject 
 cd ios/ 
 pod init 
 pod install 
 cd .. 
 react-native link 
 cd ios 
 open *.xcworkspace/

참고 URL : https://stackoverflow.com/questions/42506068/how-can-i-regenerate-ios-folder-in-react-native-project

반응형