Xcode 프로젝트 및 관련 폴더를 복제하고 이름을 바꿉니다.


195

전체 Xcode 프로젝트를 복제하고 Xcode가 마음에 들지 않고 프로젝트로 모든 파일을 수동으로 다시 가져올 필요없이 프로젝트 및 관련 파일의 이름을 바꾸고 싶습니다.

답변:


368

이 답변은 인터넷을 중심으로 한 다른 StackOverflow 게시물 및 자습서를 마무리하여 나중에 참조 할 수 있도록 한 곳으로 가져 와서 동일한 문제에 직면 할 수있는 다른 사람을 도울 수 있습니다. 마지막에 다른 답변에 대한 모든 크레딧이 제공됩니다.

Xcode 프로젝트 복제

  • Finder에서 프로젝트 폴더를 새 프로젝트의 원하는 위치에 복제하십시오. 이 단계에서 .xcodeproj 파일 이름 또는 관련 폴더의 이름을 바꾸지 마십시오.

  • Xcode에서 프로젝트 이름을 바꿉니다. 네비게이터 분할 창 (왼쪽 분할 창)에서 프로젝트를 선택하십시오. 유틸리티 분할 창 (오른쪽 분할 창)에서 프로젝트 이름을 바꾸고 Xcode가 제안한 변경 사항을 승인하십시오.

  • Xcode에서 "구성표 관리"의 구성표 이름을 바꾸고 사용 가능한 대상의 이름도 바꾸십시오.

  • 마지막에 현재 PRODUCT_NAME이 포함 된 기본 번들 식별자를 사용하지 않는 경우 (자동으로 업데이트 됨) 번들 식별자를 복제 된 프로젝트에 사용할 새 식별자로 변경하십시오.

소스 폴더 이름 바꾸기

따라서 위의 단계를 수행 한 후에는 성공적으로 빌드하고 컴파일해야하는 중복되고 이름이 바뀐 Xcode 프로젝트가 있어야하지만 소스 코드 폴더의 이름은 여전히 ​​원래 프로젝트에서와 동일하게 지정됩니다. 이로 인해 컴파일러 문제가 발생하지는 않지만 SCM 등을 탐색하는 사람들에게 가장 명확한 파일 구조는 아닙니다. 모든 파일 링크를 끊지 않고이 폴더의 이름을 바꾸려면 다음 단계를 수행하십시오.

  • Finder에서 소스 폴더의 이름을 바꾸십시오. Xcode는 변경 사항을 자동으로 감지하지 않기 때문에 프로젝트가 중단됩니다. 모든 xcode 파일 목록은 실제 파일과의 연결이 끊어 지므로 모두 빨간색으로 바뀝니다.

  • Xcode에서 이름을 바꾼 가상 폴더를 클릭하십시오 (실제로 .xcodeproject 바로 아래에있을 것입니다) Finder의 이름과 일치하도록 이름을 바꾸십시오. 이것은 아무것도 수정하지 않으며 엄격하지 않습니다. 필수 단계이지만 파일 이름이 일치하는 것이 좋습니다.

  • Xcode의 탐색 창에서 방금 이름을 바꾼 폴더를 선택하십시오. 그런 다음 유틸리티 창 (맨 오른쪽)에서 '위치'드롭 다운 메뉴 바로 아래에 어두운 회색 폴더 모양의 아이콘을 클릭하십시오. 여기에서 파인더의 이름이 바뀐 폴더로 이동하여 '선택'을 클릭하십시오. 이렇게하면 모든 파일이 자동으로 다시 연결되며 Xcode 탐색 창에서 더 이상 빨간색으로 표시되지 않습니다.

클릭 아이콘

  • 프로젝트 / 대상 빌드 설정에서 이전 폴더 이름을 검색하고 찾은 항목의 이름을 수동으로 바꿉니다. 일반적으로 prefix.pch와 info.plist에 하나가 있지만 더있을 수 있습니다.

  • 타사 라이브러리 (Testflight / Hockeyapp / etc)를 사용하는 경우 'Library Search Paths'를 검색하고 여기에서 이전 파일 이름의 이름도 바꾸어야합니다.

  • 프로젝트에 포함될 수있는 모든 단위 테스트 소스 코드 폴더에 대해이 프로세스를 반복하십시오. 프로세스는 동일합니다.

이를 통해 xcode 파일을 수동으로 편집하지 않고도 xcode 프로젝트 및 모든 관련 파일을 복제하고 이름을 바꿀 수 있으며 엉망이 될 수 있습니다.

크레딧

이 문제에 대한 별도의 답변을 제공해 주신 Nick LockwoodPauly Glott 에게 많은 감사를드립니다 .


3
위의 내용을 따라 방금 구멍 프로젝트에서 "이전 이름"을 검색하고 변경해야 할 항목 (접두사 헤더)을 찾은 다음 "새 이름"으로 다른 위치에 컴파일되었습니다. 훌륭한 튜토리얼-내가 필요한 것. (Xcode 5.0.1 / iOS 7.0에서 테스트 됨)
Mac

이것은 나에게 완전히 도달하지 않는 것 같습니다 (Xcode 5.0.2에서 4.6.3에서 5.0.0으로 마이그레이션 된 프로젝트). *.xcodeproj/project.pbxproj파일 안에 원래 폴더 경로가 포함 된 것들이 많이있었습니다 . 특히 빌드는 원래 폴더에서 info.plist를 계속 찾아서 실패했습니다.
Steven Lu

2
호기심으로, 여기에 이것을하는 구식 방법이 있습니다 ... stackoverflow.com/questions/10006482/… (Daniel 's answer)
Fattie

1
첫 번째 장애물에서 Xcode 7.1.1이 충돌하여 프로젝트 이름을 바꿉니다. 조사하지만 다른 사람이 이것을 찾았습니까?
HughHughTeotl

5
프로젝트에 Cocoapods 통합이있을 때 처리하는 방법이 없습니다. 그뿐만 아니라 핸들에 도움이 링크를 발견 h4ckish.com/2015/01/22/renaming-your-cocoapods-ios-project
KK

30

에서 프로젝트 이름을 바꿀 때 항상 어려움을 겪고 있기 때문에 이것을 게시하고 XCode있습니다.

프로젝트 이름을 바꾸는 것은 좋고 간단하지만 소스 폴더의 이름은 바뀌지 않습니다. 아래 링크를 통해 Xcode 4 및 5에서 훌륭하게 작동 한 단계를 단계별로 설명합니다.

REF 링크 :
프로젝트 이름 바꾸기.
소스 폴더 및 기타 파일의 이름을 바꿉니다.

1- 프로젝트를 백업하십시오.

git을 사용하는 경우 변경 사항을 커밋하고 변경하기 전에 전체 프로젝트 폴더의 사본을 만들고 타임 머신에 백업하십시오 (이 단계는 필요하지 않지만 강력히 권장합니다).

2- 프로젝트를 엽니 다.

3- 프로젝트 이름 (파란색 상단 아이콘)을 천천히 두 번 클릭하거나 Enter 키를 누르고 원하는 이름으로 바꿉니다.

참고 : 프로젝트 이름을 바꾸고 'enter'를 누르면 모든 프로젝트 이름 관련 항목을 자동으로 변경하고 원하는 경우 일부 항목을 선택 해제 할 수 있습니다. 모두 선택하고 확인을 클릭하십시오.

4- 구성표 이름 바꾸기

a) 중지 버튼 옆의 메뉴를 클릭하고 체계 관리를 선택하십시오.

b) 이전 이름 ​​구성표를 한 번 클릭하거나 Enter 키를 누르고 원하는 이름으로 바꿉니다.

c) 확인을 클릭하십시오.

5-빌드 및 작동하여 작동하는지 확인하십시오.

참고 : 이 시점에서 프로젝트를 만들 때 생성 된 클래스 나 소스 폴더의 주석을 제외한 모든 중요한 프로젝트 파일의 이름을 바꿔야합니다. 다음으로 파일 시스템의 폴더 이름을 바꿉니다.

6- 프로젝트를 닫습니다.

7- 메인 폴더와 소스 폴더의 이름을 바꿉니다.

8- 프로젝트 번들 .xcodeproj파일을 마우스 오른쪽 버튼으로 클릭 하고 상황에 맞는 메뉴에서 "패키지 내용 표시"를 선택하십시오. 텍스트 편집기로 .pbxproj 파일을 엽니 다.

9- 원래 폴더 이름을 검색하여 새 폴더 이름으로 바꿉니다.

10- 파일을 저장하십시오.

11- XCode 프로젝트를 열고 테스트하십시오.

12- 완료.

10/11/19 편집 :

Xcode에는 프로젝트의 이름을 바꿀 수있는 도구가 있습니다. https://github.com/appculture/xcode-project-renamer


2
문제는 복사 한 프로젝트를 복제 한 다음 이름을 바꾸는 것이 었습니다. 이 답변은 기존 프로젝트의 이름을 변경하기위한 것입니다.
martinjbaker

1
이것은 저에게 가장 간단한 방법입니다. 원래 프로젝트 폴더 (예 : MyProject)를 "MyNewProject"로 반복해서 복사하십시오. 그런 다음 MyNewProject를 열고 fs_tigre의 지시 사항을 따르십시오. 안드로이드 스튜디오 나 Xcode가 "파일-> 복제 프로젝트"옵션을 제공하지 않는 것이 놀랍습니다. 어쩌면 누군가를위한 멋진 플러그인 프로젝트 ( nshipster.com/xcode-plugins )입니까?
물집 땅콩

나를 위해 일한 유일한 방법
-XCode

2
10.1 단계-브리징 헤더 및 / 또는 인 타이틀먼트 파일이있는 경우 새 이름을 반영하도록 이름을 바꾸십시오. Cocoapods를 사용하는 경우 포드 파일에서 이름을 편집하십시오.
David Lari

6

XCode 7부터는 훨씬 쉬워졌습니다.

Apple은 자신의 사이트에서 프로세스를 문서화했습니다. https://developer.apple.com/library/ios/recipes/xcode_help-project_editor/RenamingaProject/RenamingaProject.html

업데이트 : XCode 8 링크 : http://help.apple.com/xcode/mac/8.0/#/dev3db3afe4f


2
이것은 앱의 내부 이름을 바꾸는 데만 사용되지만 외부 적으로는 앱의 폴더가 변경되지 않은 상태로 유지됩니다.
smac89


2

iOS 프로젝트의 이름을 바꾼 후이 스크립트를 사용하고 있습니다 . 디렉토리 이름을 변경하고 이름을 동기화하는 데 도움이됩니다.

http://github.com/ytbryan/rename

참고 : 구성표 이름을 수동으로 변경해야합니다.


1

"Instant OpenCV for iOS" 책의 예제 코드 에서 프로젝트를 폴더에서 다른 폴더로 복사하는 bash 스크립트를 발견했습니다.
: 나는 스크립트의 원래 저자 것으로 보인다 것과 블로그 게시물을 발견했습니다 조금 연구를하는 http://mohrt.blogspot.it/2009/01/renaming-xcode-project-from-command.html을 , 스크립트 를 다운로드 할 수 있습니다 . 나는 이것을 시도하고 이것을 터미널에서 실행했습니다.

    sh renameXcodeProject.sh <name-of-existing-folder> <name-of-folder-to-create>   

잘 작동합니다.
텍스트 편집기로 파일을 여는 추가 정보를 찾을 수 있습니다. 희망이 도움이


0

Xcode 6 이상을 사용하고 있습니다.

  • 프로젝트 폴더의 모든 파일을 새 폴더 (새 이름)로 복사하십시오.
  • 열다 *.xcodeproj or *.xcworkspace
  • 프로젝트 이름을 변경하십시오.
  • 스키마를 클릭하고 현재 Chema를 삭제하고 새 Chema를 추가하십시오.

여기서는 완료되었지만 창 이름은 Xcode이고 *.xcodeproj or *.xcworkspace여전히 <old-name>. 그런 다음

  • pop install
  • 열다 <new name>.xcworkspace

0

한 가지 더 시도해보십시오!

모든 파일을 복사하고 프로젝트를 열고 이름을 바꾸면 테스트 대상을 제외한 모든 것이 새 프로젝트 이름으로 변경되었습니다 ! "myOldProjectname.app"라는 파일이 없다는 링커 오류가 발생했습니다. 다음은이를 해결 한 것입니다.

  1. 프로젝트 설정을 클릭하고 테스트 대상을 선택하십시오 여기에 이미지 설명을 입력하십시오

  2. 빌드 설정을 클릭하고 "테스트 호스트"를 검색하십시오. 여기에 이미지 설명을 입력하십시오

  3. 이 두 파일 경로를 확인하십시오. 이 두 경로가 여전히 기존 프로젝트 이름을 가리키고있을 가능성이 있습니다. 여기에 이미지 설명을 입력하십시오

희망이 도움이됩니다!


0

프로젝트를 복사 한 후 스토리 보드 충돌에 문제가있는 사람은 Identity Inspector에서 Main.storyboard로 이동하십시오.

다음으로 현재 모듈이 이름이 바른 올바른 모듈인지 확인하십시오.


0

이름을 바꾸기 위해 간단한 BASH 스크립트를 사용하고 있습니다.

용법: ./rename.sh oldName newName

#!/bin/sh

OLDNAME=$1
NEWNAME=$2

export LC_CTYPE=C 
export LANG=C
find . -type f ! -path ".*/.*" -exec sed -i '' -e "s/${OLDNAME}/${NEWNAME}/g" {} +

mv "${OLDNAME}.xcodeproj" "${NEWNAME}.xcodeproj"
mv "${OLDNAME}" "${NEWNAME}"

노트:

  1. 이 스크립트는 같은 모든 파일을 무시 .git하고.DS_Store
  2. 이전 이름 ​​/ 새 이름에 공백이 있으면 작동하지 않습니다
  3. 포드를 사용하면 작동하지 않을 수 있습니다 (테스트되지 않음)
  4. 구성표 이름이 변경되지 않습니다 (어쨌든 프로젝트가 실행되고 정상적으로 컴파일 됨)
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.