programing

Xcode 4로 업그레이드한 후 파일 경고 누락

lovejava 2023. 5. 9. 21:57

Xcode 4로 업그레이드한 후 파일 경고 누락

최근에 Xcode 4(훌륭한 업그레이드임)로 업그레이드했는데, 이전에는 받지 못했던 몇 가지 경고가 표시됩니다.저는 포럼과 다른 SO 게시물을 살펴보았지만 이 문제를 해결하는 방법을 찾지 못했습니다.

내가 받는 경고는 누락된 파일에 대한 프로젝트 수준 경고입니다.표시되는 파일이 프로젝트 탐색기 보기에서 삭제되었습니다(파일 시스템에서 삭제하도록 선택).그러나 파일이 프로젝트 탐색기에 더 이상 나타나지 않더라도 프로젝트에 연결된 것으로 표시됩니다.

주변을 둘러봤지만 Xcode에 이 파일들이 사라졌다고 말할 수 있는 방법을 찾지 못했습니다. 경고를 주는 것을 중단하십시오.이것은 Xcode4에서는 얻었지만 Xcode3에서는 얻지 못한 스크린샷입니다.

누락된 파일 경고 Xcode 4

이 해결책들은 너무 어렵습니다.문제는 당신이 파일 시스템에서 프로젝트를 제거했지만 SVN은 여전히 그들이 거기에 있다고 생각한다는 것입니다.SVN에서 프로젝트를 분리하는 것은 .svn 폴더를 제거하는 것과 동일하지만 저장소를 파괴합니다!

콘솔을 열고 폴더("cd/pathToYourFolder")를 찾아 다음 명령을 입력하는 것이 훨씬 쉽습니다.

svn delete nameOfMissingFile

누락된 파일 이름에 @ 문자(예: 레티나 관련 아트워크)가 포함된 경우 파일 이름이 @ 기호로 끝나는지 확인합니다.

svn delete nameOfMissingFile@2x.png@

GIT 저장소의 경우:

git rm nameOfMissingFile

XCode 4.2.+(아마도 4+)에서는 수동 작업 및 명령줄을 피할 수 있습니다.

  1. 프로젝트 프로젝트 탐색기 선택(명령 - 1)
  2. [파일] - [소스 제어] - [커밋] 메뉴를 선택합니다.
  3. 왼쪽 창에는 세 개의 아이콘이 있으며, 그 위에 가운데 하나 - 파일 보기를 선택합니다.
  4. 누락된 모든 파일 목록이 표시됩니다.
  5. 모든 변경사항을 선택한 후 [변경사항 취소]를 마우스 오른쪽 단추로 누릅니다.이렇게 하면 삭제된 모든 파일이 SVN 서버에서 복원되어 로컬 SVN 폴더에 저장됩니다.
  6. 파일을 XCode 프로젝트로 드래그 앤 드롭합니다(쉽게 찾으려면 파인더에서 Sort-Date Modified in Finder(수정된 날짜 정렬)를 선택하십시오).
  7. XCode를 통해 해당 파일을 올바르게 삭제합니다(파일을 선택하고 삭제를 마우스 오른쪽 버튼으로 클릭).
  8. 프로젝트 커밋

그리고 그게 다야 :)

그 끔찍한 경고들은 모두 사라졌습니다!

Xcode 6+의 경우: 파일 보기 '중간 아이콘'을 선택한 후 왼쪽의 확인란을 클릭하면 다음 커밋 시 SVN에 대해 삭제된 것으로 표시됩니다!

Xcode5 & Xcode6에서는 아래 단계가 저에게 효과가 있었습니다.

Xcode->Preferences->Source Control->uncheck Enable Source Control

그리고나서

Xcode->Preferences->Source Control->check Enable Source Control

프로젝트의 .svn 숨겨진 폴더와 관련이 있습니다.

저는 이 문제를 svn에서 프로젝트를 분리하여 해결했습니다.

터미널을 열고 다음 명령을 입력합니다.

defaults write com.apple.finder AppleShowAllFiles TRUE


killall Finder

이렇게 하면 프로젝트 내부의 .svn 폴더를 볼 수 있습니다.

프로젝트 폴더/하위 폴더의 모든 .svn 폴더 삭제

숨겨진 파일 다시 사용:

defaults write com.apple.finder AppleShowAllFiles FALSE

killall Finder

이제 프로젝트가 svn에서 분리되어 더 이상 빌드 문제가 발생하지 않습니다.

프로젝트를 svn 등에 다시 추가합니다.

저도 초보자이고 이것이 그 문제를 다루는 저의 방식이었기 때문에 이것이 최선의 방법인지 잘 모르겠습니다.어쨌든, 그 문제는 해결되었습니다.

이것은 저에게 효과가 있었습니다.

File->Source Control->Hide Working Copy Status

그리고나서

File->Source Control->Show Working Copy Status

저는 다음과 같은 방법으로 해결했습니다.

  1. 누락된 파일의 경로를 확인합니다.
  2. 프로젝트 디렉토리 내의 적절한 위치에 누락된 파일 만들기
  3. "프로젝트에 파일 추가"를 사용하여 프로젝트에 파일을 추가하고 참조만 생성합니다(파일을 복사하지 않음).
  4. 이 시점에서 경고가 사라져야 합니다.
  5. Xcode 내에서 기본 "Delete Reference Only" 대신 "Delete"를 클릭하여 파일을 삭제합니다.
  6. 모든 작업이 완료됩니다.

저는 그 버그가 있었고 그 위치에 빈 파일을 만든 다음 삭제하는 것 외에는 해결할 방법을 찾지 못했습니다.프로젝트에서 삭제한 파일과 Derived Data 디렉토리를 수동으로 청소, 빌드, 삭제하는 작업도 수행되지 않았습니다.저는 버그라고 생각하며, 파일이 몇 개 이상일 경우 상당히 고통스러울 수 있습니다.

저도 이 문제가 있었는데, 사용자 151215가 설명한 것처럼 .svn 폴더로 인한 문제입니다.

프로젝트 자체가 아닌 프로젝트 상위 폴더에 이전 .svn 폴더가 있었습니다.

문제가 되는 .vmsn 폴더에는 누락된 파일이 포함된 항목 파일이 있습니다.따라서 Teminal을 사용하여 누락된 파일 이름 문자열(예: grep -lir BagController.m yourRootDevDir/*)을 검색할 수 있습니다.

검색기에서 숨겨진 파일을 활성화하는 것보다 단순합니다. 단지 터미널을 사용하십시오.cd에서 관련 디렉토리로 이동하고 mv.vmsn ~/.쓰레기.

이것이 도움이 되길 바랍니다!

적절한 디렉토리로 이동하여 다음을 실행합니다.

svn revert fileName

저는 그 문제를 처리하기 위해 다음과 같은 방법을 사용했습니다.

터미널을 시작하고 프로젝트 디렉토리에 CD를 넣습니다.(예: cd /Users/Mauro/Src/Pippero-1.2/)

그런 다음 다음 명령을 입력합니다.

find . -name .svn -exec rm -rf { } \;

이 명령은 .vmsn이라는 파일(및 폴더)을 재귀적으로 검색하여 삭제합니다.

Xcode에서 SVN을 사용하지 않도록 설정하면 이러한 문제를 방지할 수 있습니다(다른 SVN 도구로 리포지토리를 관리하는 경우).다음 질문을 참조하십시오.

Xcode 4에서 버전 제어 통합을 비활성화할 수 있습니까?

SVN을 사용하고 싶은 다른 Xcode 프로젝트가 있는 경우에는 이 작업이 실용적이지 않을 수 있습니다.

저는 svn을 사용하고 있으며 이 문제를 해결하기 위해 노력하고 있습니다.

svn delete pathToMissingFile

그러면 원격 저장소의 복사본뿐만 아니라 누락된 파일의 로컬 svn 복사본이 제거됩니다.

또는

svn revert pathToMissingFile

이는 누락된 파일의 변경 사항을 폐기하는 것으로, 누락된 파일을 원래 위치에 다시 저장하는 것을 의미합니다.

위의 모든 것이 제가 가지고 있던 같은 종류의 문제를 해결하는 데 효과가 없었습니다.검색을 해보니 제가 가지고 있던 이슈가 SVN 분쟁과 관련이 있다는 것을 알았습니다.

명령줄을 사용하여 충돌이 있음을 확인했습니다.

svn status

그런 다음 충돌된 모든 파일을 해결해야 했습니다.

svn resolved filename1 filename2 ...

충돌이 해결되면 Xcode에서 경고가 사라집니다.

  1. 변경사항을 커밋하고 푸시합니다.
  2. Xcode를 다시 시작합니다.

아주 간단합니다.

Xcode -> Preferences -> Source Control -> uncheck Enable Source Control

그리고 잊지 마세요.cmd+shift+k

빌드 후 Cmd + 7을 누르고 최신 빌드 작업을 선택합니다.오래된 X코드처럼 보이나요?:)여기에 이미지 설명 입력

내 경우에는

  1. 나는 SvnX를 간단히 엽니다.
  2. 누락된 모든 파일이 빨간색으로 표시됩니다.선택한 후 삭제합니다.
  3. 그리고 나서 모든 Xcode Warning이 사라졌습니다.

알렉스의 답변으로 파일 누락 문제가 해결되었습니다.

한 가지 다른 문제가 있었습니다(파일 누락과 관련이 없지만, 이 주제가 더 나을 것 같습니다).

  1. 저는 제 프로젝트에 일련의 이미지를 복사해야 했습니다.
  2. 그룹을 만들고(해당 그룹이 실제 폴더에 매핑되지 않는 것은 알고 있지만) 이미지를 그룹으로 끌어다 놓았습니다("복사 대상...옵션)을 선택합니다.
  3. SVN 상태는 모든 것을 "A"에 표시했습니다.
  4. 제가 실제 파일 시스템을 살펴보니 모든 이미지가 제 프로젝트의 루트 폴더에 복사되어 있었습니다.상태가 좋지 않아 프로젝트의 이미지 폴더 안에 물리적 폴더를 만들고 추가된 이미지를 모두 복사했습니다.
  5. 그런 다음 SVN은 모든 파일을 빨간색으로 표시했습니다.
  6. 저는 모든 빨간색 파일의 참조를 삭제했습니다.
  7. 파일 추가 옵션을 사용하여 새로 만든 폴더의 이미지를 추가했습니다.
  8. 이제 SVN은 파일의 상태를 "A"로 표시하지 못하므로 체크인할 수 없습니다.
  9. 다른 폴더에서 다시 추가하는 등 폐기와 같은 많은 단계를 시도했지만, 운이 없었습니다.

저장소로 직접 들어가 이미지 아래에 새 디렉터리를 만들어 물리적 폴더가 SVN 서버에 있도록 함으로써 이 문제를 해결했습니다.

그런 다음 소스를 업데이트하고 작업 복사본 내부에 새로 생성된 디렉터리를 얻었습니다(프로젝트에 추가되지는 않았지만).

그런 다음 이미지를 해당 디렉터리에 복사하고 "파일 추가" 옵션을 사용하여 프로젝트에 추가했습니다. 이 옵션을 사용하면 "A" 상태로 돌아왔고 파일을 체크인할 수 있었습니다.

그냥 이걸 공유하고 싶었어요... 시간이 많이 걸렸거든요.

-루프

.xcode 폴더에서 직접 파일을 삭제하지 마십시오.xcode 프로젝트 탐색기에서 파일을 삭제합니다. (해당 파일을 마우스 오른쪽 단추로 클릭하고 휴지통으로 이동을 선택합니다.)

이제 이 문제를 해결하려면 동일한 위치에 동일한 파일을 추가합니다.프로젝트 탐색기에서 삭제합니다.

저는 아무것도 할 필요가 없었습니다.나는 내 코드를 커밋하고 밀어 올렸습니다.XCODE를 껐습니다. 다시 내리자 모든 것이 작동했습니다.

개요:

제 경우에는 xcode Project라는 이름의 xcode Project가 있었습니다.Sample다음 폴더 경로에서/folder1/folder2.

거기에는.git줄을 지어 안으로 들어가다/folder1/folder2/Sample/예상했던 대로입니다.

근본 원인:

또 있었습니다..git상위 디렉토리에 있는 파일(/folder1)이 문제의 원인이 되었습니다.폴더를 남기고 삭제되었을 수 있습니다..git파일

해결책

rm -rf /folder1/.git

단서.

프로젝트를 완전히 새로운 위치로 이동하면 문제가 해결됩니다..git상위 디렉터리에 있는 파일을 계층 위로 이동하면 위 솔루션이 작동할 수 있다는 단서가 됩니다.

언급URL : https://stackoverflow.com/questions/5292291/missing-file-warnings-showing-up-after-upgrade-to-xcode-4