source

Xcode 4 + iOS 4.3: "아카이브 유형에 대한 패키저가 없습니다."

factcode 2023. 8. 27. 09:55
반응형

Xcode 4 + iOS 4.3: "아카이브 유형에 대한 패키저가 없습니다."

저는 방금 Xcode 4로 업그레이드했고 이전 프로젝트의 애드혹 빌드를 만들려고 합니다."보관" 옵션을 사용할 때마다 Organizer 창에 보관 파일이 전혀 없거나 보관 파일이 있지만 "보관 유형에 대한 패키지 관리자가 없습니다" 때문에 .ipa로 패키지하는 옵션이 없습니다.

Xcode 3.2에서 마이그레이션된 프로젝트에 대해 Xcode 4에서 작동하는 애드혹 빌드를 받은 사람이 있습니까?

기본 프로젝트 내에 일부 연결된 프로젝트(라이브러리 등)가 있을 수 있습니다.이러한 프로젝트의 빌드 설정으로 이동하고 "설치 건너뛰기"(배포 범주) 설정을 "예"로 설정하지만 기본 프로젝트의 "설치 건너뛰기"는 "아니오"로 유지합니다.빌드, 보관 및 ipa 패키지를 선택할 수 있어야 합니다.

감사합니다만, 프로젝트 프레임워크의 문제를 완전히 해결하기 위해서는 3단계가 필요했습니다.

  1. 목표 빌드 설정/"모든 종속성 프로젝트에 대해 "설치" 속성을 "예"로 건너뜁니다.

  2. 모든 프로젝트에 대한 대상 빌드 설정 "설치 디렉터리" 속성 지우기

  3. 모든 프로젝트에 대해 "Build Phase/Build Settings/Copy Headers" 섹션의 모든 헤더를 Public/Private에서 Project로 이동합니다.

저는 이 답변들의 조합이 문제를 해결했다는 것을 발견했습니다.연결된 모든 프로젝트에서 설치 건너뛰기가 예로 설정되어 있는지 확인하는 데 많은 시간을 할애했는데, 이 문제가 문제의 일부에 불과하다는 것이 밝혀졌습니다.보관에서 이 문제가 발생하는 경우 다음 단계를 수행합니다.

  1. Organizer에서 보관 파일을 찾은 다음 마우스 오른쪽 단추를 클릭하고 Show in Finder(파인더에 표시)를 선택합니다.
  2. 파인더에서 .xarchive 파일을 마우스 오른쪽 버튼으로 클릭하고 패키지 내용 표시를 선택합니다.
  3. 제품 폴더를 찾아 해당 폴더에 있는 내용을 확인합니다.Products 폴더에는 Applications 폴더만 있어야 하며 Applications 폴더에는 하나의 iPhone 앱(YourProject.app)만 있어야 합니다.

3단계에서 제품 바로 아래 또는 하위 폴더에서 정적 라이브러리(<some-library>.a)를 찾으면 Xcode로 이동하여 정적 라이브러리를 생성한 프로젝트를 선택합니다(정적 라이브러리의 이름을 기준으로 어떤 프로젝트인지 알 수 있어야 합니다).빌드 설정으로 이동하여 대상을 선택한 다음 "설치 건너뛰기"를 "예"로 설정합니다.

3단계에서 제품 바로 아래 또는 하위 폴더에서 헤더 파일(<some-header>.h)을 찾으면 Xcode로 이동하여 해당 헤더가 포함된 프로젝트를 선택합니다.헤더 파일 이름에 사용된 접두사를 기준으로 프로젝트를 찾을 수 있어야 합니다.해당 프로젝트에서 빌드 단계로 이동하고 머리글 복사 섹션에서 공용 및 개인 섹션의 모든 머리글을 프로젝트 섹션으로 이동합니다.

가 이 문제해결할 수 있도록 도와주신 이 답변과 이 답변에 감사드립니다.

여기 이 문제에 유용하다고 생각한 두 가지 팁이 있습니다.답은 없지만 다른 사람이 8시에 장난치는 시간을 많이 절약할 수 있습니다.

xcode4로 빌드되지 않은 정적 립을 사용하는 경우 "배포->설치 건너뛰기" 해결 방법이 작동하지 않습니다.이에 대한 해결 방법은 프로젝트에 이러한 항목을 추가하지 않고 해당 경로가 빌드 설정의 헤더 및/또는 라이브러리 검색 경로에 있는지 확인하고 -lblah 항목이 링커 플래그에 추가되도록 하는 것입니다.

또한 정적 libset을 Target Dependency(대상 종속성)로 설정한 경우(예: libjson.a 세트를 이와 같이 사용했으며 그것이 올바른/논리적인 작업이라고 확신함) .ipa's를 구축할 수 없습니다.우리는 이 바보 같은 문제를 가지고 하루 이상 춤을 추는데 시간을 보냈고 결국 이것을 제거하는 것만으로 해결되었습니다.개인적으로 저는 이것이 정말로 실패한 프로젝트를 남겨야 한다고 생각합니다.하지만 효과가 아주 좋습니다.

Xcode가 적절한 아카이브를 만들지 못하게 하는 프로젝트/라이브러리/구성요소를 파악하려면 다음을 수행합니다.

Organizer에서 보관 파일을 찾고 마우스 오른쪽 단추를 클릭하여 Finder에 표시합니다..xarchive 파일이 표시됩니다.마우스 오른쪽 버튼을 클릭하고 패키지 내용을 표시합니다.이제 Products 폴더를 찾습니다.대부분의 경우 내부에 하나의 iPhone 응용프로그램이 있는 응용프로그램 폴더 이상이 있을 것입니다.

제 경우 lib를 포함하는 usr/local/lib 폴더 구조가 있었습니다.OAuthConsumer_iPhone.a를 Xcode로 검색했을 때 설치 건너뛰기를 YES로 설정하지 않은 다른 프로젝트를 발견했습니다.모든 사람에게 쉽지는 않을 수 있지만 패키지 내부를 들여다보면 보관 프로세스를 방해하는 구성 요소에 대한 포인터를 얻을 수 있습니다.

설치 건너뛰기가 작동하지 않았습니다.공용으로 표시된 모든 헤더를 프로젝트로 이동하여 이 문제를 해결했습니다.저는 현재 정적 lib와 ipad project가 있는 작업 공간에서 일하고 있습니다.링크된 프로젝트로 제품을 빌드하고 싶을 때마다 xcode에 버그 등이 있는 것처럼 보이며, xcode는 둘 다 빌드하고 Organizer는 ipa를 공유하는 옵션을 표시하지 않습니다.

xcode 4.2에서 위의 문제를 해결하기 위한 단계입니다.

1: 추가된 모든 서드파티션 라이브러리에 대해 "설치 건너뛰기"를 YES로 설정합니다.프로젝트에 대해 "설치하려면 건너뛰기"를 "아니오"로 선택합니다.빌드 설정에서 "설치할 건너뛰기"에 액세스할 수 있습니다.

2: 왼쪽 네비게이터 창에서 타사 라이브러리 헤더를 선택합니다.

2.1: 오른쪽에 유틸리티 창이 있습니다.보기 ->유틸리티 ->유틸리티 표시/숨기기(명령-옵션-0) 또는 도구 모음의 보기 세그먼트 컨트롤에서 세 번째 버튼으로 표시 및 숨기기

2.2: 파일 검사기 선택(명령-옵션-1)

2.3 Target membership을 선택하고 옵션을 Public 또는 Private에서 'Project'로 변경합니다.

언급URL : https://stackoverflow.com/questions/5271496/xcode-4-ios-4-3-no-packager-exists-for-the-type-of-archive

반응형