Xcode 4에서 프로젝트 이름을 바꾸는 방법을 알고 있지만 소스 폴더의 이름을 어떻게 바꾸나요? 문제는 Xcode에서 프로젝트 이름을 변경하면 Xcode 내에서만 이름이 변경된다는 것입니다 (이전에 비해 진행 중임).하지만 Xcode가 파일 시스템의 폴더 이름을 변경하지 않는 이유는 알 수 없습니다.
Xcode 4에서 프로젝트 이름을 바꾸는 방법을 알고 있지만 소스 폴더의 이름을 어떻게 바꾸나요? 문제는 Xcode에서 프로젝트 이름을 변경하면 Xcode 내에서만 이름이 변경된다는 것입니다 (이전에 비해 진행 중임).하지만 Xcode가 파일 시스템의 폴더 이름을 변경하지 않는 이유는 알 수 없습니다.
답변:
텍스트 편집기에서 pbxproj 파일을 직접 편집하지 않고도 Xcode 내에서이 작업을 수행 할 수 있습니다!
방법은 다음과 같습니다.
Finder에서 소스 폴더의 이름을 변경하십시오. 가상 (노란색) 프로젝트 폴더가 가리키는 실제 폴더가 변경 될 때 Xcode가 자동으로 감지하지 않으므로 해당 폴더 내의 모든 파일이 Xcode에서 빨간색으로 바뀌기 때문에 처음에는 프로젝트가 중단됩니다. 걱정하지 마세요. 3 단계에서 수정하겠습니다.
Xcode에서 왼쪽 사이드 바에있는 (현재 깨진) 가상 폴더를 클릭하고 Finder의 이름과 일치하도록 이름을 바꿉니다 (실제로 원하는 이름으로 부르거나 이름을 바꾸지 않을 수 있지만, 그것은 제정신이 아닙니다. ). 폴더 안의 빨간색 파일은 수정되지 않지만 괜찮습니다.
Xcode의 오른쪽 사이드 바에서 아래 스크린 샷에 표시된 아이콘을 클릭하여 파일 대화 상자를 불러옵니다. 이전에 이름을 바꾼 폴더를 선택하십시오. 그러면 가상 폴더가 디스크의 실제 폴더와 다시 연결되고 내부의 모든 파일에 대한 링크가 자동으로 수정됩니다.
빌드 설정에서 이전 폴더 이름을 검색하고 찾은 항목의 이름을 수동으로 바꿉니다. 일반적으로 oldfolder / prefix.pch와 oldfolder / info.plist의 두 가지가 있지만 다른 것도있을 수 있습니다.
완료되었습니다!
편집 :이 옵션은 여전히 Xcode 5에 있지만 기본적으로 숨겨져 있습니다. 이를 표시하려면 "텍스트 설정"패널 위의 속성에서 얇은 "ID 및 유형"헤더를 클릭하여 확장합니다.
나는 그것을 수십 번했다 :
.pbxproj
텍스트 편집기를 사용하여 프로젝트 번들 (컨텍스트 메뉴 "패키지 내용보기") 내의 파일을 엽니 다 .작업 : Xcode와 Finder에서 "Play"의 이름을 "Play2"로 변경합니다.
이것을 변경하십시오 :
이에:
단계 :
// 무엇보다 먼저 Finder에서 프로젝트를 백업하십시오!
// 위의 모든 단계는 간단하고 부작용이 없습니다. // // 이제 까다로운 부분이 있습니다. Finder (.xcodeproj와 동일한 수준에있는 폴더)에서 내부 폴더 (이미지의 중간 열) 이름을 바꿉니다.
XCode4 (파일 폴더 포함)에서 프로젝트의 이름을 효과적으로 바꾸는 방법은 다음과 같습니다.
먼저-Xcode 프로젝트의 이름을 바꾸지 마십시오 !!!
필요한 경우 아래에있을 수 있습니다. 작동하지 않고 새 프로젝트를 만들고 기존 파일에서 모든 것을 복사하기 시작했습니다. Xcode는 너무 아아 .... 파일 이름을 "이름"에서 "이름"으로 바꾸는 것과 같이 비생산적인 것들이 너무 많습니다. 글쎄요, 재미있게 보내세요.
이 문제에 대한 답이나 해결 방법을 찾았습니다. "패키지 내용 표시"를 마우스 오른쪽 단추로 클릭하여 pbxproj 파일을 열고 거기에서 project.pbxproj 파일을 편집합니다. 경로 및 기타 항목이라는 참조의 이름을 바꿔야합니다. 폴더 이름에 "/"가 추가되었습니다.
그게 다야. 도움이되기를 바랍니다.
위의 다양한 답변을 살펴보고 스스로를 시도한 후 나 자신을 요약하고 있습니다. 현재 프로젝트 이름이 ProjAbc이고 이름을 ProjDef로 바꾸려고한다고 가정합니다.
해당 프로젝트의 Xcode를 종료하십시오.
Finder에서 백업을 위해 ABOVE ProjAbc.xcodeproj 폴더를 복제합니다.
Finder에서 새 프로젝트 이름에 맞게 필요하다고 생각되면 ABOVE ProjAbc.xcodeproj 폴더의 이름을 자유롭게 변경하십시오.
Finder에서 소스 파일 폴더의 이름을 ProjAbc.xcodeproj와 평행하게 ProjAbc에서 ProjDef로 바꿉니다.
ProjAbc.xcodeproj 용 Xcode를 엽니 다 (Project Navigator에서 가상 소스 폴더 ProjAbc의 모든 파일이 빨간색으로 표시됨).
Xcode에서 왼쪽 사이드 바의 프로젝트 네비게이터에있는 (현재 깨진) 가상 폴더를 클릭하고 Finder-ProjDef의 이름과 일치하도록 이름을 바꿉니다. 아직 폴더 안의 빨간색 파일을 수정하지는 않지만 괜찮습니다.
Xcode에서 (왼쪽 사이드 바에서 가상 폴더 선택) 오른쪽 사이드 바의 파일 속성에서 아래 스크린 샷에 표시된 아이콘을 클릭하여 파일 대화 상자를 불러옵니다. 파일 대화 상자에서 이전에 이름을 바꾼 폴더 (ProjDef)를 선택합니다. 그러면 가상 폴더가 디스크의 실제 폴더와 다시 연결되고 내부의 모든 파일에 대한 링크가 자동으로 수정됩니다.
Xcode의 Project Navigator에서 ProjAbc 프로젝트 이름을 클릭하고 이름을 ProjDef로 바꿉니다.
Xcode에서 이제 ProjDef 대상 (Project Navigator의 프로젝트 ProjDef 내부) 내에서 "Build Settings"를 엽니 다. * -Info.plist 및 * -Prefix.pch 파일의 폴더 이름과 파일 이름을 모두 ProjAbc 대신 ProjDef를 포함하도록 변경합니다.
Xcode의 프로젝트 네비게이터, ProjDef 가상 소스 폴더의 "지원 파일"에서 * -Info.plist 및 * -Prefix.pch 파일 모두 ProjAbc 대신 ProjDef를 포함하도록 다시 이름을 바꿉니다.
Xcode 메뉴에서 Product / Scheme / Manage Schemes ...를 누르고 (또는 Xcode 왼쪽 상단의 Scheme Bar에서 "ProjAbc"> Scheme 이름을 클릭하고 "Manage Schemes ..."를 누릅니다) 대화 상자에서 Scheme의 이름을 ProjAbc에서 ProjDef로 전환 한 다음 "확인"버튼을 누릅니다. 프로젝트 이름이 한 단어로 구성되어 있다면 지금 바로 실행할 수 있습니다!
Xcode에서 Supporting Files / *-Prefix.pch 파일의 맨 위 주석 줄을 편집하고 ProjAbc를 ProjDef로 바꿉니다 (2 회). 물론이 주석을 수정하는 것은 선택 사항입니다.
Xcode를 종료합니다.
Finder에서 ProjDef.xcodeproj를 가리키고 텍스트 편집기에서 엽니 다. (TextWrangler.app에서 열거 나 마우스 오른쪽 버튼을 클릭하고 팝업 메뉴에서 "Show Package Contents"를 누른 다음 TextEdit.app에서 project.pbxproj 파일을 편집합니다.)
텍스트 편집기에서 한 번 표시되어야하는 "ProjAbc"(전체 단어, 대 / 소문자 일치)를 검색하고 (단락 : / * 시작 PBXNativeTarget 섹션 * / 줄 : productName = ProjAbc;) "ProjDef"로 바꿉니다. 실제로 프로젝트는 어쨌든 실행될 수 있으므로이 단계는 선택 사항입니다.
프로젝트 이름이 "ProjDef Geh"와 같이 2 개 이상의 개별 단어로 구성된 경우 다음 단계를 수행해야합니다. 가상 소스 파일 폴더의 Finder 폴더에 대한 참조 검색-
텍스트 편집기에서 저장하고 텍스트 편집기를 종료합니다.
그게 다야. 위와 같이 프로젝트 이름이 한 단어로 구성된 경우 11 단계 끝에서 바로 실행할 수 있습니다.
위의 답변, 특히 Nick Lockwood의 답변이 정말 유용하다는 것을 알았습니다.
방금 Xcode 8에서 몇 개의 폴더 이름을 변경했고 두 가지 문제가 더 발생했습니다. A) "작업 복사 오류에서 누락" B) Core Data 충돌 .
이 두 가지 문제를 해결하는 방법 :
A) " 작업 복사본에서 누락 오류 "
아래 답변이 매우 유용하다는 것을 알았습니다. .Swift 3 / Xcode 8 Upgrade-작업 복사 오류에서 누락 된 100 개의 DerivedData 파일
기본적으로 Xcode 8에는 엄격한 소스 제어 기능이있어 위의 오류가 발생할 수 있습니다. 다음을 수행해야합니다.
이미 소스 제어를 활성화했다고 가정합니다. 그렇지 않은 경우 또는 내 지침을 따르지 않는 경우 제공된 링크에서 더 자세한 지침을 따르십시오.
B) 핵심 데이터 충돌
폴더 이름을 바꾸면 때때로 핵심 데이터가 망가집니다. 그 이유는 여러 가지가 있으며 다음은 제가 제안 할 수있는 몇 가지 수정 사항입니다.
AppDelegate 모델 이름이 잘못되었습니다 . 제 상황이 그랬습니다. AppDelegate로 이동하여 let container = NSPersistentContainer(name: "YOUR CORE DATA MODEL NAME")
. 이름이 정확한지 확인하십시오.
향후 (이 게시물 이후 몇 년 후 Apple이 Core Data를 다시 변경할 때) 또는 Core Data의 이전 버전을 사용하는 경우 AppDelegate를주의 깊게 살펴보십시오. 핵심 데이터를 엉망으로 만드는 펑키 한 무언가가있을 것입니다.
xcdatamodeld에 잘못된 모델 이름이 있습니다 . Finder로 이동하여 텍스트 편집기에서 .xcdatamodeld를 엽니 다.
다음을 확인하십시오.
<plist version="1.0">
<dict>
<key>_XCCurrentVersionName</key>
<string>YOUR CORE DATA MODEL NAME.xcdatamodel</string> <-- Make sure this is correct.
</dict>
</plist>
자세한 내용은 여기 : 핵심 데이터 모델 파일은 이름을 바꿀 때로드되지 않습니다.
프로젝트에 대한 소스 프로젝트의 이전 참조가있는 경우 프로젝트를 복제 할 때 (모든 변경 사항이 두 프로젝트 모두에 영향을 미침) 여기에 해결책이 있습니다.
================================================= ======================