Xcode 프로젝트의 이름을 완전히 바꾸려면 어떻게해야합니까 (예 : 폴더 포함)?


470

라는 프로젝트가 XXX있습니다. 이 프로젝트의 이름을로 바꾸고 싶습니다 YYY.

XXX(예는 "데이터", 또는 단순히 "프로젝트") 따라서, 간단한 정규식 검색 및 교체하십시오 프로젝트 구성 파일을 손상의 위험에서, 수없는 매우 일반적인 용어입니다.

현재 프로젝트 디렉토리에는 다음 항목이 포함되어 있습니다.

  • XXX
  • XXXTests
  • XXX.xcodeproj

이름을 다음과 같이 바꾸고 싶습니다.

  • YYY
  • YYYTests
  • YYY.xcodeproj

... 필요한 변경 사항이 내 프로젝트 파일에 반영됩니다.

새 프로젝트를 수동으로 작성하고 채울 필요없이 어떻게이 작업을 수행 할 수 있습니까?


편집 : 이것이 나의 가장 큰 의문의 질문이 된 것은 절대적으로 우스운 일입니다.



1
또한 stackoverflow.com/questions/17744319/… 에서 답변 을 200
번 받음

1
또한 질문과 답이 여기 stackoverflow.com/questions/8262613/... 189까지 두 게시물 엑스 코드 7 여전히 관련이 투표로
론 Myschuk

앱 아이콘 이름 만 바꾸려면이 답변을 확인하십시오. stackoverflow.com/questions/238980/…
LYu

답변:


1019

1 단계-프로젝트 이름 바꾸기

  1. Xcode 창의 왼쪽 패널에있는 "프로젝트 탐색기"에서 이름을 바꾸려는 프로젝트를 클릭하십시오.
  2. 오른쪽 패널에서 "파일 관리자"를 선택하면 프로젝트 이름이 "ID 및 유형"에 있습니다. 새 이름으로 변경하십시오.
  3. 대화창에 프로젝트의 컨텐트 아이템의 이름을 바꿀지 묻는 메시지가 나타나면 "이름 바꾸기"를 클릭하십시오.

2 단계-체계 이름 바꾸기

  1. 창의 상단에있는 "중지"버튼 옆에 제품 이름이 이전 이름으로 표시되어 있습니다. 그것을 클릭하고 "체계 관리…"를 선택하십시오.
  2. 구성표에서 이전 이름을 클릭하면 편집 가능해집니다. 이름을 변경하고 "닫기"를 클릭하십시오.

3 단계-자산으로 폴더 이름 바꾸기

  1. Xcode를 종료하십시오.
  2. 올바르게 이름이 지정된 마스터 폴더에는 이름이 잘못된 OLD 폴더가있는 새로 이름이 지정된 .xcodeproj 파일이 있습니다. OLD 폴더의 이름을 새 이름으로 바꿉니다 (Git을 사용하는 경우 git mv oldname newname새 파일을 삭제 / 추가하는 것이 아니라 Git이이를 인식하도록 실행할 수 있습니다).
  3. Xcode에서 프로젝트를 다시 열면 "OLD 폴더가 없습니다"라는 경고가 표시됩니다. 경고를 해제하십시오.
  4. 왼쪽 패널의 "프로젝트 탐색기"에서 최상위 OLD 폴더를 클릭하십시오.
  5. 오른쪽 패널의 "ID 및 유형"에서 "이름"필드를 OLD 이름에서 새 이름으로 변경하십시오.
  6. 해당 필드 바로 아래에는 "위치"메뉴가 있습니다. 근처의 폴더 아이콘을 클릭하고 이름이 바뀐 폴더를 선택하십시오.

4 단계-빌드 plist 데이터 이름 바꾸기

  1. 왼쪽의 "프로젝트 탐색기"에서 프로젝트를 클릭하고 메인 패널에서 "빌드 설정"을 선택하십시오.
  2. 설정에서 "plist"를 검색하십시오.
  3. 패키징 섹션에서 Info.plist및 을 볼 수 Product Bundle Identifier있습니다.
  4. 에 입력 한 이름이 있으면 Info.plist업데이트하십시오.
  5. 동일한 작업을 수행하십시오 Product Bundle Identifier.
  6. SwiftUI를 사용하는 경우 "개발 자산"을 검색하고 경로를 업데이트하십시오.

5 단계-테스트에 3 단계를 반복합니다 (있는 경우)

6 단계-이름이 프로젝트 이름과 일치하는 경우 코어 데이터에 대해 3 단계를 반복하십시오 (있는 경우)

7 단계-프로젝트 재 구축

  1. Command+ Shift+ K청소
  2. Command+ B빌드

5
프로젝트 이름을 변경할 수 있지만 폴더 이름은 여전히 ​​동일합니다. 이를 변경하는 방법을 알고 계십니까
Coder221

5
감사! Xcode 8의 경우 자격 파일의 이름을 수동으로 바꿔야합니다.
Jiulong Zhao

54
3 단계 2 (폴더 이름 바꾸기)를 수행 할 때 git을 사용하는 경우 git mv oldname newnamegit은 모든 파일을 삭제하고 추가하지 않고 이동임을 인식합니다.
Aaron Ash

14
완벽, Xcode 8.2에서 완벽하게 작동합니다 . 체계 이름을 한 번 클릭하면 편집 할 수 없는 경우 체계를 편집하는 동안 체계를 편집하는 동안 여기에서 지적해야 할 한 가지 사항은 체계 를 선택하고 리턴 키를 누르면 체계 이름을 편집 가능하게 만듭니다.
Khurram Shehzad

5
이전 프로젝트 이름의 다른 인스턴스 를 찾아서 바꾸는 것을 잊지 마십시오 .
Derek Soike

194

@ luke-west의 탁월한 답변에 추가하려면 다음을 수행하십시오.

CocoaPod를 사용하는 경우

2 단계 후 :

  1. XCode를 종료하십시오.
  2. 마스터 폴더에서로 이름 OLD.xcworkspace을 바꿉니다 NEW.xcworkspace.

4 단계 후 :

  1. XCode에서 : Podfile프로젝트 탐색기에서 선택하고 편집하십시오 . targetOLD 이름 의 절이 표시되어야합니다 . NEW로 변경하십시오.
  2. XCode를 종료하십시오.
  3. 프로젝트 폴더에서 OLD.podspec파일을 삭제 하십시오.
  4. rm -rf Pods/
  5. 를 실행하십시오 pod install.
  6. XCode를 엽니 다.
  7. 프로젝트 네비게이터에서 프로젝트 이름을 클릭하십시오.
  8. 기본 창에서 Build Phases탭으로 전환 하십시오.
  9. 아래 Link Binary With Libraries에서 찾아서 libPods-OLD.a삭제하십시오.
  10. objective-c 브리징 헤더가있는 경우 빌드 설정으로 이동하여 헤더 위치를 OLD / OLD-Bridging-Header.h에서 NEW / NEW-Bridging-Header.h로 변경하십시오.
  11. 청소하고 실행하십시오.

7
Xcode 8.3.2를 사용하여 cocoapods-deintegrate를 사용하고 모든 포드를 다시 설치하여 새 이름으로 프로젝트를 실행해야했습니다.
SteffenK

2
@SteffenK는 그 방법과 rm -rf Pods / 사이에 차이점이 있습니까? 다른 모든 단계를 수행했다고 생각하십니까?
Vaiden

1
좀 더 자세히 설명해 주시겠습니까? 무슨 흔적?
Vaiden

2
@Vaiden CocoaPods로 작업 할 때 매우 명확하게 해주셔서 감사합니다! 그 과정에서 두 번째 참조가 생겼는데, 이상했지만, 그것을 제거한 후 모든 것이 완벽하게 작동했습니다! 다시 감사합니다! :)
Matt Swift

4
누군가이 답변에 언급 된 OLD.podspec 파일을 찾을 수있는 곳을 말해 줄 수 있습니까? 내 프로젝트에서 'Podfile'/ 'Podfile.lock'/ 'Pods.xcodeproj'와 같은 파일이 몇 개 있는데 'Local Podspecs'라는 빈 폴더가 있지만 .podspec 파일을 찾을 수 없습니다
codeDude

51

쉘 명령을 사용하는 더 빠른 솔루션 (CocoaPod에서도 작동) :

제발 cd수있는 비 GIT REPOSITORY를 진행하기 전에 ⚠️

1 단계-전제 조건

  1. 원래 프로젝트 폴더를 /NewProjectFolder git 저장소 외부 의 임시 폴더에 복사하십시오 . ⚠️ .git로 변경하면 git index가 손상 될 수 있습니다. 💥 ☠

2 단계-터미널 열기

이제 우리는에서 프로젝트 이름을 바꿀려고 oldNameNewProject.

  • XCode를 닫습니다.
  • 로 이동하십시오 /NewProjectFolder.
cd /Path/to/your/NewProjectFolder
  • 필요한 추가 도구를 설치하십시오.
brew install rename ack
  • 소스 문자열을 포함하는 파일 및 디렉토리의 이름을 바꾸십시오. 디렉토리의 이름이 먼저 바뀐 후 다음 반복시 디렉토리의 파일 및 디렉토리의 이름이 바뀌 므로이 명령을 실행해야합니다 .
find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'NewProject'
  • 소스 문자열을 포함하는 모든 파일의 이름이 바뀌 었는지 확인하십시오. 빈 출력이 표시됩니다.
find . -name 'oldName*'
  • 모든 파일에서 모든 문자열을 교체하십시오.
ack --literal --files-with-matches 'oldName' --print0 | xargs -0 sed -i '' 's/oldName/NewProject/g'
  • 모든 파일에서 모든 문자열이 교체되었는지 확인하십시오. 빈 출력이 표시됩니다.
ack --literal 'oldName'
  • 운영 pod install
  • NewProjectFolder저장소에 추가 하십시오.
  • 끝났습니다!

3
이것에 감사합니다. 유용합니다. 이와 같은 명령을 복사하여 붙여 넣을 때 작업을 최소화 할 수 있으므로 "YourNewAmazingProjectName"의 예제 이름이 너무 많으면 "example"을 사용하면 삭제 키의 수명이 연장됩니다.
LpLrich

1
@LpLrich 귀하의 제안에 감사드립니다. 방금 답변을 업데이트했습니다.
Pietro Basso

기본 폴더의 이름이 바뀌었지만 다른 디렉토리 나 파일의 이름이 바뀌지 않습니다.
Ethan Parker

2
@EthanParker는 find . -name 'oldName*' -print0 | xargs -0 rename --subst-all 'oldName' 'ExampleName'두 번 실행해야 하며 주 폴더 내의 파일과 디렉토리는 두 번째 반복에서 이름이 바뀝니다.
피에트로 바쏘

1
내 프로젝트에서 coreData를 사용 했으며이 명령을 두 번이 아니라 세 번 실행해야했습니다.
ShadeToD 2016 년

21

GitHub 프로젝트는 Xcode Project Renamer다음과 같습니다.

Xcode 프로젝트 디렉토리의 루트 내부에서 실행되어야하며 $ OLD_PROJECT_NAME 및 $ NEW_PROJECT_NAME의 두 문자열 매개 변수로 호출해야합니다.

스크립트는 Xcode 프로젝트 또는 작업 공간 파일을 포함하여 모든 파일과 디렉토리를 재귀 적으로 살펴보고 모든 $ OLD_PROJECT_NAME 문자열을 $ NEW_PROJECT_NAME 문자열 (각 파일의 이름과 내용 모두)로 바꿉니다.

프로젝트를 백업하는 것을 잊지 마십시오!

Xcode 프로젝트 리머


이것은 초보자에게 유용하지 않습니다. 내 주요 프로젝트 파일이 손상 되어도 낭비 시간으로 끝나는 아래 명령을 사용하여 스크립트를 제거하지 마십시오. $ rm rename.swift
피터 월터

바로 가기를 따르지 마십시오.
피터 월터

6
@ peter-walter 당신은 항상 그러한 작업을하기 전에 데이터를 백업해야합니다.
Olcay Ertaş

이것은 매력처럼 작동했습니다. 유일하게 누락 된 것은 pod install스크립트 를 실행 한 후에 실행 해야한다는 것 입니다.
romin21

11

XCode 11.0 이상

지금은 정말 간단합니다. Project NavigatorXCode 창의 왼쪽 패널 로 가십시오 . 폴더 이름을 변경하는 것처럼을
눌러 Enter이름을 바꿀 수 있도록합니다.
여기에 이미지 설명을 입력하십시오

여기서 새 이름을 변경하면 XCode에서 다른 이름을 바꾸도록 요청합니다.

여기에 이미지 설명을 입력하십시오.

Rename여기를 탭 하면 완료됩니다.
루트 폴더 이름이 변경되지 않은 이유에 대해 혼란 스러우면 폴더 일뿐입니다. 새 이름으로 이름을 바꿨습니다.
여기에 이미지 설명을 입력하십시오


7

프로젝트 이름을 변경하려면

  1. 프로젝트 탐색기에서 프로젝트를 선택하십시오.

2. File inspector의 Identity and Type 섹션에서 Name 필드에 새 이름을 입력합니다.

3. Return 키를 누릅니다.

이름을 바꿀 수있는 프로젝트의 항목을 나열하는 대화 상자가 표시됩니다. 대화 상자에는 변경 후 항목이 어떻게 표시되는지 미리보기가 포함되어 있습니다.

  1. 항목 이름을 선택적으로 바꾸려면 이름을 바꾸지 않으려는 항목의 확인란을 비활성화하십시오. 앱만 이름을 바꾸려면 앱을 선택된 상태로두고 다른 모든 항목을 선택 취소하십시오.

  2. "이름 바꾸기"를 누르십시오


5

@ Luke-West 's + @ Vaiden 's 솔루션을 따를 때 추가 지침 :

  • 중지 버튼 옆의 왼쪽 상단에서 구성표가 변경되지 않은 경우 (여전히 Mac 표시) :

    1. 새로 생성 된 프로젝트 이름 (중지 버튼 옆)을 클릭하고> 구성표 편집> 빌드 (왼쪽)를 클릭하고 이전 대상을 제거하고 (없는 것으로 표시됨) 새로 명명 된 프로젝트 로고 아래에서 새로 명명 된 프로젝트로 바꿉니다.

또한 @Vaiden의 솔루션의 3 단계를 사용할 필요가 없었습니다. rm -rf Pods/터미널에서 실행 하면 모든 오래된 포드 파일이 제거되었습니다.

@Vaiden의 솔루션에서 9 단계를 사용할 필요가 없었습니다. 대신 Link Binary Libraries 아래에서 framework이라는 OLD 프로젝트를 제거했습니다 (새로 명명 된 프레임 워크는 이미 존재했습니다)

따라서 업데이트 된 단계는 다음과 같습니다.

1 단계-프로젝트 이름 바꾸기

  1. 프로젝트에서 cocoapod를 사용하는 경우 작업 공간을 닫고이 단계에서 XCode 프로젝트를여십시오.
  2. Xcode보기의 왼쪽에있는 "프로젝트 탐색기"에서 이름을 바꾸려는 프로젝트를 클릭하십시오.
  3. 오른쪽에서 "파일 관리자"를 선택하면 프로젝트 이름이 "ID 및 유형"아래에 있어야하며 새 이름으로 변경하십시오.
  4. 드롭 다운 메뉴에서 "이름 바꾸기"를 클릭하십시오

2 단계-체계 이름 바꾸기

  1. 상단 막대 ( "중지"버튼 근처)에는 OLD 제품에 대한 구성표가 있습니다.이를 클릭 한 다음 "구성표 관리"로 이동하십시오.
  2. 구성표에서 OLD 이름을 클릭하면 편집 가능해지며 이름을 변경하십시오.
  3. XCode를 종료하십시오.
  4. 마스터 폴더에서 OLD.xcworkspace의 이름을 NEW.xcworkspace로 바꾸십시오.

3 단계-자산으로 폴더 이름 바꾸기

  1. Xcode 종료
  2. 올바르게 명명 된 마스터 폴더에는 잘못 명명 된 OLD 폴더가있는 새로 명명 된 xcodeproj 파일이 있습니다. OLD 폴더의 이름을 새 이름으로 바꿉니다.
  3. 프로젝트를 다시 열면 "OLD 폴더가 없습니다"라는 경고가 표시됩니다.
  4. 왼쪽의 "프로젝트 탐색기"에서 최상위 OLD 폴더 이름을 클릭하십시오.
  5. 유틸리티 창의 "ID 및 유형"아래에 "이름"항목이 표시됩니다. OLD에서 새 이름으로 변경하십시오.
  6. 바로 아래에는 "위치"항목이 있습니다. OLD 이름의 폴더를 클릭하고 새로 이름이 바뀐 폴더를 선택하십시오.

4 단계-빌드 plist 데이터 이름 바꾸기

  1. 왼쪽의 "프로젝트 탐색기"에서 프로젝트를 클릭하고 메인 패널에서 "빌드 설정"을 선택하십시오.
  2. 이 섹션에서 "plist"검색 패키징 아래에 Info.plist 및 제품 번들 식별자가 표시됩니다.
  3. Info.plist에서 최상위 항목의 이름을 바꿉니다.
  4. 제품 식별자에 대해서도 동일하게 수행

5 단계 Podfile 처리

  1. XCode에서 : 프로젝트 탐색기에서 Podfile을 선택하고 편집하십시오. OLD 이름의 대상 절이 표시되어야합니다. NEW로 변경하십시오.
  2. XCode를 종료하십시오.
  3. 터미널에서 프로젝트 디렉토리로 cd 한 후 다음을 수행하십시오. rm -rf Pods/
  4. 포드 설치를 실행하십시오.
  5. XCode를 엽니 다.
  6. 프로젝트 네비게이터에서 프로젝트 이름을 클릭하십시오.
  7. 기본 분할 창에서 빌드 단계 탭으로 전환하십시오. 라이브러리와 바이너리 연결 (Link Binary With Libraries)에서 OLD 프레임 워크를 찾아서 제거합니다 (없을 것입니다). 새로 명명 된 프레임 워크는 창 하단의 "+"단추를 사용하여 추가하지 않은 경우 이미 있어야합니다.
  8. objective-c 브리징 헤더가있는 경우 빌드 설정으로 이동하여 헤더 위치를 OLD / OLD-Bridging-Header.h에서 NEW / NEW-Bridging-Header.h로 변경하십시오.
  9. 청소하고 실행하십시오.

모든 단계를 성공적으로 수행 한 후에는 오류없이 빌드 할 수 있어야합니다


2
rm-rf Pods/깨끗한 방법 대신 단계 5.3의 경우 pod deintegrateXcode 프로젝트에서 CocoaPod의 흔적을 모두 제거하지만 Podfile은 그대로 두는 것입니다.
jklapwyk

이 규칙. 그것은 Ionic 앱을 기존 iOS 앱과 병합 할 수있는 기반을 제공했습니다.
t4l

2

Luke와 Vaiden이 권장 한 모든 단계를 제외하고 스토리 보드의 모든 customModule 속성의 이름을 새 이름과 일치하도록 변경해야했으며 대소 문자를 구분해야합니다.


1
이것을 언급 한 유일한 사람!
Fattie

1
참고 필드에서 "다시 클릭"하는 방식으로 인터페이스 빌더에서이 작업을 수행 할 수 있습니다. 그런 다음 새 프로젝트 이름으로 올바르게 "기본 설정"됩니다.
Fattie
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.