Programing

Xcode 6에서 iOS 8 확장이있는 보관 앱 중 경고

lottogame 2020. 12. 26. 09:28
반응형

Xcode 6에서 iOS 8 확장이있는 보관 앱 중 경고


앱을 보관하는 동안 문제가 있습니다.

iOS 8 확장에 대한 새 대상을 만들었습니다.

앱을 보관하면 경고가 표시됩니다.

경고는

"PBXCp 경고", "경고 : 복사 단계 스트립 건너 뛰기, 바이너리 코드 서명 : / Users / Library / Developer / Xcode / DerivedData / App / Build / Intermediates / ArchiveInter mediates / AppName / IntermediateBuildFilesPath / UninstalledProducts / AppExtappex / AppE xt"

앱이 Objective-C에 있습니다.


Xcode 대상의 빌드 설정에서 "복사 중 디버그 기호 제거"옵션을 확인하십시오. 확장이 이미 서명 되었기 때문에 디버그 기호를 제거 할 수 없다는 말입니다.


Xcode 6.2에서 새로운 샘플 프로젝트와 Today Extension을 만드는 경우 디버그 기호를 제거하기 위해 기본값이 NO로 설정됩니다.

여기에 이미지 설명 입력


복사 출처 : https://stackoverflow.com/a/30459703/736384

"컴파일 된 코드에는 일반적으로 디버그 정보가 포함되어 있습니다.이 디버그 항목은 디버거에서 실행중인 코드를 검사하는 데 유용하지만 배포 빌드에서 제공하는 최적화 된 코드의 경우에는 그다지 유용하지 않습니다. 따라서 아카이브 빌드를 수행 할 때 제거됩니다.

여기서 문제는 PBXCp가 서명 된 바이너리에서 디버그 기호를 제거 할 수 없다는 것입니다.이 경우 디지털 서명이 무효화되기 때문입니다. 따라서 Xcode 6.3 이전에 생성 된 프로젝트가있는 경우 이제 이와 같은 경고가 표시됩니다.

경고를 수정하려면 두 값을 모두 NO로 변경하십시오. 둘 다 기본값이 여전히 YES이므로 제거해도 작동하지 않습니다. Xcode 6.3과 함께 제공된 프로젝트 템플릿은 기본적으로 꺼져 있습니다. 이전 템플릿으로 시작된 프로젝트 만 릴리스 라인에 여전히 YES가 표시됩니다. "

출처 : https://www.cocoanetics.com/2015/04/skipping-copy-phase-strip/


프레임 워크 / 확장은 이미 제거되었으며 기본적으로 코드 서명됩니다. 애플리케이션 프로젝트는 프레임 워크가 이미 제거되었음을 감지 할 수 없으며 무해한 경고를 표시합니다. 당신은해야 하지 그것을 또는 응용 프로그램이 제거되지 않습니다 해제합니다.


빌드 복사 중 디버그 기호 제거 설정 의 효과에 대해 약간의 혼동이있는 것 같습니다. 추가 정보를 위해이 문서를 읽는 것이 좋습니다 . 위상 스트립 복사 건너 뛰기 .

이 질문을 조사하면서 얻은 핵심 사항은 다음과 같습니다.

  • Xcode 6.2 이상을 사용하여 새 프로젝트를 만들 때 프로젝트 파일에 삽입 된 값 은이 설정의 두 기본 빌드 구성 (디버그 및 릴리스) 모두에 대해 NO 입니다.
  • 릴리스 구성에서 값을 YES 로 설정하고 제품 아카이브를 수행하는 것은 생성 된 애플리케이션 바이너리 크기에 영향을주지 않습니다 (자신의 프로젝트에 대한 테스트를 통해이를 확인하는 것이 좋습니다).
  • iOS 충돌 보고서의 Sybolication에 사용되는 디버그 기호 는 응용 프로그램 번들과 별 개인 외부 .dsym 파일에서 가져 오므로 기호 테이블이 바이너리에 포함될 것으로 예상하지 않습니다.

Xcode 타겟의 빌드 설정에서 "스트립 스타일"옵션을 확인하십시오. "Non-Global Symbols"인 경우 "All Symbols"로 변경하십시오. 이렇게하면 문제를 해결할 수 있지만이 변경으로 인해 다른 문제가 발생했는지는 모르겠습니다.


대상 빌드 설정의 "배포"섹션에서 모든 프로덕션 빌드 Strip Debug Symbols During Copy찾아 설정 YES합니다.

여기에 이미지 설명 입력


나를 위해 일한 것은 다음과 같습니다.

보관중인 계획을 편집했습니다. 그 창에서 '실행'을 선택한 다음 '정보'탭을 선택했습니다. 'Build Configuration'에서 'Release'로 변경했습니다. 방금 '디버그'(기본 옵션)로 변경했는데 경고가 사라졌습니다.

이게 도움이 되길 바란다.


이것은 아마도 DEBUG 체계로 보관했기 때문일 것입니다. RELEASE 구성표를 선택하면 "복사 중 디버그 기호 제거"옵션이 YES로 설정되고이 경고가 표시되지 않습니다.

베타 테스트를 위해 DEBUG 설정으로 보관하는 것이 좋지만 App Store에 게시하기 위해 RELEASE 설정으로 보관하는 것이 좋습니다.

참조 URL : https://stackoverflow.com/questions/25949108/warning-during-archive-app-with-ios-8-extension-in-xcode-6

반응형