Xcode 4 : .xcarchive 대신 IPA 파일 작성


182

Xcode 3.2.5에서는 "Build And Archive"를 사용하여 IPA 파일을 만듭니다. Xcode 4에서는 "Product-> Archive"를 사용하여 .xcarchive 번들로 애플리케이션을 아카이브 할 수 있습니다.

Xcode 4로 .ipa 파일을 어떻게 만들 수 있습니까?


다른 비슷한 질문 에서이 답변을 시도하십시오 : https
//.com/questions/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive/5322743#5322743


3
새로운 임시 버전을 만들 때마다 Google 검색으로 나를 안내합니다. 지난 몇 개월 동안이 페이지를 여러 번 보았습니다. 좋은 질문, 좋은 해결책
coneybeare


IPA를 내보내기위한 Xcode 플러그인 github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

답변:


391

IPA 작성은 .xcarchive 작성과 동일한 방식으로 수행됩니다 : 제품-> 아카이브. 보관 작업이 완료되면 오거나이저로 이동하여 보관함을 선택하고 공유를 선택한 다음 "공유 할 컨텐츠 및 옵션 선택 :"창에서 컨텐츠를 "iOS App Store 패키지 (.ipa)로 설정하고 Identity to iPhone Distribution ( 프로젝트의 애드혹 / 앱 스토어 프로비저닝 프로파일과 일치해야합니다).

"iOS App Store Package (.ipa)"옵션이 비활성화되었을 수 있습니다. 빌드가 앱 라이브러리 같은 단일 대상을 두 개 이상 생성 할 때 발생 합니다. 그것들은 모두 빌드 제품 폴더에 들어가고 Xcode는 둘 다 .ipa 파일로 패키지하는 방법에 대해 혼란스러워 하므로 옵션을 비활성화합니다.

이를 해결하는 방법은 다음과 같습니다. 애플리케이션 대상을 제외한 각 대상에 대한 빌드 설정을 수행하고 설치 건너 뛰기 플래그를 YES로 설정하십시오. 그런 다음 Product-> Archive tango를 다시 한 번 수행하고 Organizer로 이동하여 새 아카이브를 선택하십시오. 이제 공유 버튼을 클릭하면 .ipa 옵션이 활성화됩니다.

이게 도움이 되길 바란다.


2
이로 인해 내 문제가 해결되었습니다. 감사합니다! 필자의 경우 문제는 실제로 설치를 건너 뛸 필요가있는 여러 대상이 있는 하위 프로젝트 (ProtocolBuffers) 중 하나였습니다 .
JosephH

제품-> 아카이브 옵션이 나타나기 전에 제품-> 작업 공간 정리 및 열기 / 닫기를해야 할 수도 있습니다.
Mark Chackerian

여러 대상에 문제가있었습니다. 공유 라이브러리를 설치 건너 뛰기로 설정하고 설치 건너 뛰기로 NO를 수정했습니다. 이것은 Xcode 3.2에서 나에게 문제가 아니며 4.1 만 있습니다.
logancautrell

44
"공유"는 이제 "배포 ..."입니다. 그런 다음 "Ad-Hoc 배포 엔터프라이즈 용 저장"을 선택하십시오.
Rembrandt Q. Einstein

"설치 건너 뛰기"로는 충분하지 않습니다. Xcode 4.5에서이 버그가 발생했으며 번들로 라이브러리를 추가 한 이후에도 올바르게 배포하지 않습니다.
Adam

44

건너 뛰기 설치를 YES로 설정해도 작동하지 않습니다. 잘하면 이것은 누군가를 도울 것입니다.

나는 Coreplot-CocoaTouch라는 프로젝트 목표에 의존했다. 그런 다음 Coreplot-CocoaTouch Targets로 이동했습니다. 목표에서 빌드 단계를 열었습니다. 그런 다음 헤더 복사를 열었습니다. 거기에 공개 헤더, 비공개 헤더 및 프로젝트 헤더가 있습니다. 그것들을 모두 Project로 옮겼습니다.

물론 Coreplot-CocoaTouch Targets의 빌드 설정에서 배치 옵션에서 설치 건너 뛰기가 YES로 설정되어 있는지 확인했습니다.

그리고 이번에 Archive는 서명하고 .ipa로 제작할 수있는 아카이브를 만들었습니다.


1
헤더를 Project로 이동하면 위의 단계와 함께 완벽하게 작동합니다. 감사합니다
iOSAppDev

시원한 바람처럼! OAuth 용 github.com/sprhawk/ytoolkit.git 을 해당 프로젝트에 드롭 하려면 누구나 필요합니다. 고마워.
vmanjz

2
왜 오, 왜 Xcode가 여전히 이처럼 심각한 버그로 가득 차 있습니까? 이 의견보다 18 개월 후에도 버그는 여전히 존재합니다! 도와 주셔서 감사합니다.
Ben Clayton

당신은 내가 지금 당신을 얼마나 사랑하는지 전혀 모른다 ... 적어도 내 문제 중 하나가 해결되었다! 감사합니다!
Dmytro

15

Xcode 4.6 (및 Xcode 5) 아카이브의 경우

  • 오거나이저에서 아카이브를 마우스 오른쪽 단추로 클릭하고 Finder에서 표시를 선택하십시오.
  • Finder에서 아카이브를 마우스 오른쪽 단추로 클릭하고 패키지 내용 표시를 선택하십시오.
  • 제품> 애플리케이션 폴더를여십시오.
  • 응용 프로그램이 있습니다
  • 응용 프로그램을 iTunes Apps 폴더로 드래그하십시오

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

  • iTunes Apps에서 응용 프로그램을 마우스 오른쪽 단추로 클릭하고 Finder에서보기를 선택하십시오.

  • .ipa있다!

이것은 내가 실제로 xcode 4.6.3에 필요한 것입니다. 위의 모든 것은 나에게 의미가 없습니다.이 하나만 작동합니다. 대단해!
포레스트

주의, ipa가 생성되지만 제대로 설치되지 않을 수 있습니다. 동기화 후 전화에 아이콘이 표시되지만 아래에 설치가 표시되고 끝나지 않습니다. 어쨌든 그것은 Xcode 5.1.1을 시도한 후에 지금까지 내 경험입니다.
colin lamarre

4

주최자에서 공유를 클릭하고 iOS 앱 스토어 패키지 (.ipa)로 저장할 수 있습니다. '제품'메뉴에서 '아카이브'를 선택해야 오거나이저에서 아카이브를 생성 할 수도 있습니다. 마지막으로,이를 위해서는 적절하게 서명 된 아카이브 빌드가 있어야한다고 생각합니다.


3
프로젝트에서 아카이브를 만드는 방법을 쉽게 알 수있었습니다. 문제는 옵션 '패키지'를 공유하는 동안 회색으로 표시됩니다. 해당 옵션을 사용하려면 아카이브에 올바르게 서명해야 할 수도 있습니다. 배포 Ad-Hoc에 키를 사용하고 배포 Ad-Hoc에 대한 권한도 지정했습니다. IPA 파일을 작성하는 방법을 공유 할 수 있습니까?
krasnyk

4

이전 버전의 route-me 라이브러리를 사용하여 동일한 문제가 발생했습니다. 모든 라이브러리와 라이브러리 내부의 라이브러리 (proj4)를 "스킵"했지만 여전히 동일한 문제가있었습니다. route-me와 proj4가 라이브러리를 건너 뛰더라도 동일한 방식으로 엉망이 된 경우에도 공개 헤더 파일을 설치하고 있음이 밝혀졌습니다! 방금 route-me 및 proj4 대상 "Build Phases"탭으로 이동하여 "Copy Headers"를 열고 "Public"을 연 다음 해당 헤더를 "Public"에서 "Project"로 드래그했습니다. 이제 $ (BUILD) / usr / local / include에 설치되지 않으며 아카이브에서 ipa 파일을 만들 수 있습니다!

애플이 XCode 로이 끔찍한 사용성 문제를 해결하기를 바랍니다. 그것은 무엇이 잘못되었는지를 전혀 나타내지 않으며 작동하지 않습니다. 나는 왜 그들이 희미 해 졌는지에 대해 아무 것도 알려주지 않는 희미한 컨트롤을 싫어합니다. 클릭을 무시하는 대신, 비활성화 된 컨트롤은 답답할 때 클릭이 비활성화 된 이유를 알려주는 메시지를 표시 할 수 있습니까?


네! 공개로 표시된 모든 헤더 파일이 문제를 해결합니다. 프로젝트로 설정하면 문제가 해결되었습니다!
JakubKnejzlik

3

제품> 아카이브가 성공적으로 완료되었다고 가정하면 Organizer (Shift Apple 2)에서 아카이브를 클릭하십시오.

보관소를 선택하십시오. 공유를 선택하십시오. "공유 할 컨텐츠 및 옵션 선택 :"분할 창에서 컨텐츠를 "iOS App Store 패키지 (.ipa)로 설정하고 ID를 iPhone 배포로 설정하십시오.

다음을 클릭하고 앱 이름을 입력 한 후 저장을 클릭하십시오.

스크린 샷이 포함 된 전체 상세 정보는 다음과 같습니다. Xcode4UserGuide


2

다른 모든 답변을 시도했지만 운이 없었던 사람은이 확인란을 선택하십시오. 도움이되기를 바랍니다 (xcode 6.0.1의 트릭을 얻었습니다)

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


0

나는 같은 문제가 있었다 ... 프로젝트를 처음부터 다시 만들어야했다.

참고 : 내 프로젝트는 XCode 3.1에서 만들어졌으며 하위 프로젝트로 빌드 된 정적 라이브러리 (공통 대상)에 연결되었습니다. XCode 4에서 XCode 프로젝트를 다시 만들 때 대신 소스를 빌드하도록 이것을 변경했습니다.

이제 제품 / 아카이브 / 공유 ...를 수행하면 "애플리케이션"(지금 회색으로 표시됨) 및 "아카이브"(.xcarchive를 내보내는) 바로 위에있는 "iOS App Store Package (.ipa)"옵션이 제공됩니다.


0

같은 문제입니다. 각 외부 프로젝트에 대해 "skip install"플래그를 YES로 설정하여 기본 프로젝트의 다른 대상을 변경하지 않았습니다.

또한 "구성표 편집 ..."으로 이동하여 "아카이빙"패널을 선택한 다음 임시 목적에 맞는 빌드 설정을 설정해야했습니다.

그런 다음 간단한 제품-> 아카이브-> 공유가 예상 된 작업을 수행했습니다.


0

프로젝트를 빌드하고 보관해야합니다. 프로젝트 및 실행 파일에 어떤 코드 서명 설정이 있는지 확인해야 할 수도 있습니다.

오거나이저를 사용하여 보관 버전을 선택한 다음 해당 버전의 프로젝트를 공유 할 수 있습니다. 올바른 코드 서명을 다시 선택해야합니다. .ipa 파일을 원하는 곳에 저장할 수 있습니다.

.ipa 파일을 iTunes로 끌어다 놓은 다음 iPhone과 동기화하십시오.


0

게임 (앱일 수도 있음)이고 cocos2d 또는 기타 타사 라이브러리와 같은 정적 라이브러리가있는 경우 * 정적 라이브러리 (앱이 아님)와 빌드 설정에서 * 선택해야합니다 배포, 설치 건너 뛰기 플래그를로 설정 YES하고 보관하십시오 ... !!


0

나는 같은 문제를 던졌다. 위의 답변 중 어느 것도 나를 위해 효과가 없었지만 혼자서 해결책을 찾지 못했습니다. 대상-> 빌드 단계-> 자원이있는 번들 복사에 라이브러리 파일 (libXXX.a)이 있으므로 ipa 파일이 작성되지 않았습니다.

그것이 누군가를 도울 수 있기를 바랍니다 :)

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