ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Swift와 코코아팟으로 생성된 프로젝트 복사
    Language/iOS,AOS 2023. 2. 17. 12:25

     

    이미 개발된 프로젝트를 새로운 이름의 프로젝트로 바꿔 사용할 수 없을까?

    iOS개발은 처음이라서 인증부터 스토리보드로 화면 구성까지 삽질을 겁나게 많이하고.. 어찌어찌 필요한 기능들은 모두 넣은 프로젝트를 완성할 수 있었다.
    근데.. 우리회사는 모바일 위주로 사업이 많아서 화면은 웹뷰로 iOS, Adroid등을 통해서 하이브리드앱을 주로 사용하는데 추가되어야 할 앱들이 아직도 많을듯하다.
    당장 기존과 동일한 기능으로 앱을 추가해야 하는 상황이기도 하다.
    음.. 그럼 스토리보드로 설정 및 권한까지.. 아 이거 다시해줘야돼?? 맨붕온다.
    스토리보드 및 소스까지 복사하고 어떻게 어떻게 하면 되겠지?? 하지만.. 빼먹은게 있으면 다시 확인하고 테스트 해야하니 이게 맞나??
    프로젝트를 복사해버리고 프로젝트 설정만 바꾸는게 좋을거 같은데.. 암튼 해보자!
    프로젝트 복잡도에 따라 달라지겠지만 필자가 만든 프로젝트 같은경우에는 생각보다 어렵지 않게 성공할 수 있었다.

     

    개발된 프로젝트

    • Xcode
    • Swift
    • CocoaPods
    • WebView

     

    프로젝트 이름 바꾸기

    1. `a`  -> `b`라는 프로젝트 명으로 복사

    기본 프로젝트를 복사하고 변경될 프로젝트 명으로 수정합니다.

     

    2. Xcode에서 프로젝트명 변경

    .xcworkspace 파일을 더블클릭해서 xcode를 열고 상단의 프로젝트 명을 변경합니다.

    (코코아팟 프로젝트는 .xcworkspace파일로 열어야 설치된 라이브러리들을 인식한다.)

    gobang -> algo -> Enter

     

    컨텐츠 아이템들도 바꿀래? `Rename` 고고

     

    깃에 커밋되지 않은 변경사항 있다고 한다.  무시하고 `Continue`

     

    Scheme 도 바꿔준다.

    Product -> Scheme -> Manage Scheme... -> 원하는 이름으로 바꿔 주고 Enter

     

    Xcode를 종료하고 Finder에서 아직 변경되지 않은 하위폴더 이름 및 .xcworkspace의 이름을 변경해 준다.

    (인증정보가 있다면 .entitlements 파일도 변경)

     

    Xcode에서 발생하는 에러관련 설정 수정

    .xcworkspace를 눌러서 Xcode로 해당 프로젝트를 다시 시작해준다.

    (폴더명이 바뀌어서 오류가 난다.)

     

    Identity and Type에서 Name 및 Full Path를 변경해 준다.

    Location 이 Absolute Path면 Full Path를 재지정 해줘야 하는것 같지만, 필자 같은 경우에는 Relative to Group으로 설정되어 있어서 자동으로 변경 되었다.

     

    변경된 내용

     

    Info.plist File 이름도 변경해 준다.

     

    혹시나 해서 프로젝트를 실해해보니 인증 관련 에러가 발생한다.

    인증 정보를 가진 entitlements 이놈을 못찾아서 인것 같다.

     

    오류 표시는 사라 졌지만 아직도 바꾸기 전의 프로젝트 명이랑 바꾼명이랑 공존하고 있다.

    이놈이 의심스럽다. 저놈을 클릭 후 정보를 보니 인증관련 설정이 있다.

     

    Identity and Type에서 {xxx}.entitlements의 Name도 변경해 준다.

     

    바꾸려는 프로젝트 명으로 변경된걸 확인 할 수 있다.

     

    Code Signing Entitlements에 명칭도 변경해 준다.

     

    3. 이제 다시 실행해 보자!! 오 된다!!

    근데.. 코코아팟을 설정 안한것 같은데?? 혹시나 해서 관련 설정부분을 열어봤더니 아무것도 변경이 안되어있다.

     

    인증관련 에러발생!!

    젝1 좋다 말았네!

     

    실행할때 문제가 없는것은 코코아팟 라이브러리 까지 폴더채로 복사해 봐서 그런듯 하고 깃에는 ignore처리된 라이브러리는 올라가지 않고 개발할때 라이브러리를 내려받게 되면 설정이 이상해서 돌아가지 않을듯 하다, 젝12345 그럼 하면 되지모.!!

     

    4. 코코아팟 설정 변경하기

    Podfile를 열고 target을 변경해 준다.

     

    터미널을 열고 코코아팟 라이브러리를 삭제하고 다시 설치하는 스크립트를 실행한다.

    $ rm -rf Pods/
    $ pod install

     

    코코아팟 관련 파일들을 재설치하고 빌드 설정을 봤더니 정상적으로 변경된 것을 확인 할 수 있다.

     

    프로젝트를 새로 실행해도 문제없이 동작한다.

    끝났나?? 아니다..!

     

    Bundle Identifier등 프로젝트별 세부 설정이 남았다!

    보통은 Bundle Identifier 정도만 수정해도 되지만, 멀티로 환경을 구성하였다면 아래 포스팅을 참고해서 천천히 변경만 해주면 새로운 프로젝트가 빠밤 하고 실행될 것이다!!

    https://dchkang83.tistory.com/154

     

    Multiple Configurations 로 Debug, Release 구분 배포

    Multiple commands produce error가 발생하여 원인 분석 및 처리한 내용이다. 1. Multiple Configurations 설정 Debug : 개발 Debug Staging : Testflight 에 올라가는 Debug 환경 Release : Testflight 및 AppStore 에 올라가는 Productio

    dchkang83.tistory.com

     

     

    짝짝짝!!

    댓글

Designed by Tistory.