경고 : 번들 자원 복사 빌드 단계에는이 대상의 Info.plist 파일이 포함됩니다.


270

프로젝트를 두 개의 빌드로 분리하고 각각에 plist파일을 부여했습니다. 모든 것이 잘 작동하지만이 빌드 경고가 계속 발생합니다.

경고 : 번들 자원 복사 빌드 단계에는이 대상의 Info.plist 파일 'MyApp-Info.plist'가 포함됩니다.

내가 만들려고 할 때 이것을 얻는다 MyApp. 두 번째 대상을 빌드하면 동일한 오류가 발생합니다 ( SecondTarget-Info.plist경고에서). 빌드가 해당 파일 을 포함하기를 하기 때문에 왜 경고인지 확실하지 않습니다 .plist. 각 .plist파일에는 하나의 대상 멤버십 (자체 빌드 용)이 있습니다.

이 경고는 무엇을 의미합니까? 그것을 없앨 방법이 있습니까?


각 대상에 Info.plist를 추가 할 필요는 없습니다. 대신 각 대상 빌드 설정-> 패키징-> Info.plist 파일-> 대상 Info.plist의 위치
onmyway133

답변:


595

https://developer.apple.com/library/content/qa/qa1649/_index.html

발췌 :

Info.plist 파일을 그림과 같이 Copy Bundle Resources 빌드 단계에 추가 했으므로이 경고가 표시됩니다.

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

INFOPLIST_FILE 빌드 설정은 대상과 연관된 Info.plist의 이름을 지정합니다. 대상을 빌드 할 때 Xcode는이 빌드 설정을 읽고 참조 된 Info.plist를 애플리케이션 번들로 복사합니다. Xcode는 Info.plist를 자동으로 처리하므로이를 복사 번들 자원 빌드 단계에 추가하거나 대상 멤버로 만들면 안됩니다.

이 경고를 해결하려면 그림 1과 같이 Copy Bundle Resource 빌드 단계에서 Info.plist를 선택한 다음 제거 (-) 단추를 클릭하여 단계에서 삭제하십시오.


이것이 해결되지 않으면 어떤 문제가 발생합니까?
hasan

2
@ hasan83, 빌드 경고가 표시되고 빌드 된 제품에는 약간의 공간을 차지하는 추가 Info.plist 사본이 포함됩니다.
JWWalker

1
@kraftydevil, 프로젝트에 하위 프로젝트가 있습니까? 따라서 경고가 검사 한 대상 이외의 대상을 가리킬 수 있습니까?
JWWalker

5
7 년 후에도 여전히 관련이 있습니다.
jungledev

1
@jungledev는 애플이 항상 Xcode를 개발하는 대신 Swift 버전을 업데이트하는 데 바쁘기 때문에 항상 이상한 숫자의 이상한 오류에 대한 솔루션을 보여주기 때문에 관련이 있습니다.
MBH

65

xcode 4에서 수정하려면 :

1) info.plist 파일에 대한 참조를 선택하고 삭제를 눌러 제거하십시오.

2) info.plist 파일을 다시 추가하되 대상을 선택하지 말고 "대상에 추가"옵션을 선택 취소하십시오.


2
plist 파일을 프로젝트에 복사 할 때 "대상에 추가"를 선택 해제하지 않으면이 문제가 발생하는 것입니다. 문제를 해결하기 위해 위의 "정답"의 단계를 수행했지만 대상에 추가하지 않고 삭제하고 다시 추가해도 효과가있었습니다. =)
RanLearns

1
이것은 Xcode 6.4에서 나를 위해 일했습니다. 선택한 답변이 없습니다.
kraftydevil

2

Xcode 3을 사용 하여이 문제가 발생하면 왼쪽 그룹의 "그룹 및 파일"아래 .plist 파일을 클릭하고 오른쪽 상단 영역에서 .plist 파일 이름 옆의 확인란을 선택 취소하십시오. 땡기 아이콘 아래에 있습니다. 확인란을 표시하려면 편집기를 축소 (View-> Zoom Editor Out)해야합니다.


0

또 다른 해결책은 다음과 같습니다.

"대상 멤버쉽"코어 데이터에서 프로젝트 파일을 실수로 제거했을 수 있습니다.

  1. 왼쪽의 프로젝트 탐색기에서 Main.storyboard를 선택하십시오.

  2. 오른쪽의 "파일 관리자"(첫 번째 탭)로 이동

  3. "대상 멤버십"목록을 찾으십시오.

  4. 확인란을 활성화

  5. 처리하는 데 약간의 시간이 걸리지 만 프로젝트가 진행되는 동안 LaunchScreen.storyboard, .xcdatamodelid, Assets.xcassets 및 모든 .swift 파일도 확인하십시오. 모두 대상 멤버쉽에 대해 활성화되어 있어야합니다.

  6. 참고 : Info.plist에는 대상 멤버 자격이 선택되어 있지 않아야합니다.

도움이 되었기를 바랍니다.


-2

참고로 ... 그것에 대해 멋진 레이더를 작성하려고 시도하지만 Xcode의 스토리 보드에서 현지화가 처리되는 방식은 정말 이상합니다. "파인더에 표시"를 요청하면 .storyboard 파일이 선택되지 않고 포함 된 폴더가 표시됩니다. 스토리 보드의 현지화와 관련이 있다고 생각합니다. 영어에서 독일어로 파일을 변경하자마자 (더 이상 루트 나 en.lproj에 파일이 없음) 문제가 발생하기 시작했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.