Xcode 4: tạo tệp IPA thay vì .xcarchive


182

Trong Xcode 3.2.5, tôi sử dụng "Build And Archive" để tạo tệp IPA. Trong Xcode 4, bạn có thể sử dụng "Sản phẩm -> Lưu trữ" để lưu trữ một ứng dụng trong gói .xcarchive.

Làm cách nào để tạo tệp .ipa bằng Xcode 4?


Hãy thử câu trả lời này từ một câu hỏi tương tự khác: /programming/5271496/xcode4-ios-4-3-no-packager-exists-for-the-type-of-archive/5322743#5322743
pkananen


3
Mỗi khi tôi xây dựng một phiên bản adhoc mới, việc tìm kiếm google của tôi dẫn tôi đến đây. Tôi đã thấy trang này nhiều lần trong vài tháng qua. Câu hỏi hay, giải pháp tốt
coneybeare


Dưới đây là Plugin Xcode để xuất IPA github.com/rajeshbeats/Xcode-Plugin-Export-IPA
Raj

Câu trả lời:


391

Tạo IPA được thực hiện theo cách tương tự như tạo .xcarchive: Product -> Archive. Sau khi hoàn thành thao tác Lưu trữ, hãy đi tới Trình tổ chức, chọn kho lưu trữ của bạn, chọn Chia sẻ và trong phần "Chọn nội dung và tùy chọn để chia sẻ:" đặt nội dung thành "Gói kho ứng dụng iOS (.ipa) và Nhận dạng cho Phân phối iPhone (mà phải phù hợp với hồ sơ cung cấp cửa hàng quảng cáo / cửa hàng ứng dụng của bạn cho dự án).

Có thể tùy chọn "Gói cửa hàng ứng dụng iOS (.ipa)" có thể bị tắt. Điều này xảy ra khi bản dựng của bạn tạo ra nhiều hơn một mục tiêu: giả sử, một ứng dụng thư viện. Tất cả chúng kết thúc trong thư mục sản phẩm xây dựng và Xcode bị nhầm lẫn một cách ngây thơ về cách đóng gói cả hai vào một tệp .ipa, vì vậy nó chỉ vô hiệu hóa tùy chọn.

Một cách để giải quyết vấn đề này như sau: trải qua các cài đặt xây dựng cho từng mục tiêu, ngoại trừ mục tiêu ứng dụng và đặt cờ Skip Install thành CÓ. Sau đó thực hiện Sản phẩm -> Lưu trữ tango một lần nữa và đi đến Trình tổ chức để chọn kho lưu trữ mới của bạn. Bây giờ, khi nhấp vào nút Chia sẻ, tùy chọn .ipa sẽ được bật.

Tôi hi vọng cái này giúp được.


2
Điều này đã khắc phục vấn đề của tôi, cảm ơn! Trong trường hợp của tôi, vấn đề thực sự là một trong những dự án trẻ em (ProtocolBuffers cho tôi) có một số mục tiêu cần bỏ qua cài đặt được đặt.
JosephH

Bạn có thể cần Sản phẩm -> Làm sạch và mở / đóng không gian làm việc của bạn trước khi tùy chọn Sản phẩm -> Lưu trữ xuất hiện.
Mark Chackerian

Tôi đã có vấn đề với nhiều mục tiêu. Đặt lib được chia sẻ thành Bỏ qua Cài đặt CÓ và ứng dụng thành Bỏ qua Cài đặt KHÔNG sửa nó. Đây không phải là vấn đề đối với tôi trong Xcode 3.2, chỉ 4.1.
logancautrell

44
"Chia sẻ" hiện là "Phân phối ..." Sau đó chọn "Lưu cho doanh nghiệp triển khai Ad-Hoc"
Rembrandt Q. Einstein

"Bỏ qua cài đặt" là không đủ - Tôi đã gặp lỗi này với Xcode 4.5 và nó từ chối phân phối chính xác, kể từ khi tôi thêm một thư viện có gói.
Adam

44

Chỉ cần đặt Skip Install thành YES không hoạt động với tôi. Hy vọng điều này sẽ giúp được ai đó.

Tôi đã phụ thuộc vào các mục tiêu dự án của mình: Coreplot-CocoaTouch. Sau đó, đi đến mục tiêu Coreplot-CocoaTouch. Trong mục tiêu của nó đã mở Build Ph Phase. Sau đó mở Copy Headers. Ở đó tôi đã có một số tiêu đề trong Công chúng, một số trong Riêng tư và một số trong Dự án. Đã chuyển TẤT CẢ chúng sang Project.

Tất nhiên, trong Cài đặt bản dựng của các mục tiêu Coreplot-CocoaTouch đã kiểm tra rằng Skip Install được đặt thành CÓ trong các tùy chọn Triển khai.

Và lần này Lưu trữ đã thực hiện một kho lưu trữ có thể được ký và .ipa được sản xuất.


1
Sau khi di chuyển các tiêu đề để Project hoạt động hoàn hảo cùng với các bước trên. Cảm ơn
iOSAppDev

Giống như một làn gió mát! Bất cứ ai thả github.com/sprhawk/ytoolkit.git cho OAuth vào dự án của họ sẽ yêu cầu điều này. Cám ơn.
vmanjz

2
Tại sao oh tại sao Xcode vẫn đầy lỗi nghiêm trọng như thế này? 18 tháng sau nhận xét này và lỗi vẫn còn đó! Cảm ơn đã giúp đỡ.
Ben Clayton

Bạn không biết bây giờ tôi yêu bạn nhiều như thế nào ... ít nhất một trong những vấn đề của tôi đã được giải quyết! Cảm ơn bạn!
Dmytro

15

Đối với tài liệu lưu trữ Xcode 4.6 (và Xcode 5)

  • Trong Trình tổ chức, bấm chuột phải vào kho lưu trữ, chọn Hiển thị trong Finder
  • Trong Finder, bấm chuột phải vào kho lưu trữ, chọn Hiển thị nội dung gói
  • Mở thư mục Sản phẩm> Ứng dụng
  • Ứng dụng này
  • Kéo ứng dụng vào thư mục Ứng dụng iTunes

    nhập mô tả hình ảnh ở đây

  • Nhấp chuột phải vào ứng dụng trong Ứng dụng iTunes, chọn Hiển thị trong Finder

  • .ipađấy!

Đây là những gì tôi thực sự cần cho xcode 4.6.3 của tôi, Tất cả những điều trên chỉ là vô nghĩa đối với tôi, chỉ có điều này hoạt động. Tuyệt quá !
Forrest

Thận trọng, sẽ tạo một ipa nhưng có thể không cài đặt đúng cách, nó hiển thị biểu tượng trên điện thoại sau khi đồng bộ hóa nhưng cho biết cài đặt bên dưới và không bao giờ kết thúc. dù sao đó là kinh nghiệm của tôi cho đến nay sau khi thử điều này, Xcode 5.1.1.
colin lamarre

4

Trong trình tổ chức, bạn có thể nhấp vào Chia sẻ và lưu dưới dạng Gói ứng dụng iOS (.ipa). Bạn cũng có thể phải chọn 'Lưu trữ' từ menu 'Sản phẩm' để tạo kho lưu trữ trong Trình tổ chức. Cuối cùng, tôi nghĩ rằng bạn phải có một bản dựng lưu trữ được ký hợp lệ để làm điều này.


3
Thật dễ dàng để tìm ra cách tạo Lưu trữ từ dự án. Vấn đề là trong khi chia sẻ tùy chọn 'Gói' có màu xám. Bạn có thể đúng rằng kho lưu trữ phải được ký hợp lệ để tùy chọn đó được bật. Tôi sử dụng khóa để phân phối Ad-Hoc và cũng có các Quyền được chỉ định cho Ad-Hoc phân phối. Bạn có thể chia sẻ làm thế nào để tạo tập tin IPA không?
krasnyk

4

Tôi gặp vấn đề tương tự, sử dụng một phiên bản cũ của thư viện tuyến đường. Tôi "bỏ qua" tất cả các thư viện và các thư viện bên trong các thư viện (proj4), nhưng tôi vẫn gặp vấn đề tương tự. Hóa ra tuyến đường tôi và proj4 đang cài đặt các tệp tiêu đề công khai, ngay cả khi các thư viện bị bỏ qua, điều này đã làm rối tung nó theo cùng một cách! Vì vậy, tôi vừa đi vào tab mục tiêu "Xây dựng giai đoạn" cho tôi và proj4, mở "Sao chép tiêu đề", mở "Công khai" và kéo các tiêu đề đó từ "Công khai" vào "Dự án". Bây giờ họ không được cài đặt bằng $ (BUILD) / usr / local / include và tôi có thể tạo tệp ipa từ kho lưu trữ!

Tôi hy vọng Apple khắc phục vấn đề sử dụng khủng khiếp này với XCode. Nó hoàn toàn không có dấu hiệu gì về những gì sai, nó chỉ không hoạt động. Tôi ghét các điều khiển mờ đi mà không cho bạn biết bất cứ điều gì về lý do tại sao chúng bị mờ đi. Còn về việc thay vì bỏ qua các nhấp chuột, các điều khiển bị vô hiệu hóa có thể bật lên một thông báo cho bạn biết lý do tại sao chúng bị vô hiệu hóa khi bạn nhấp vào chúng trong sự thất vọng?


Vâng! Tất cả các tệp tiêu đề được đánh dấu là công khai làm vấn đề. Đặt chúng làm dự án đã khắc phục vấn đề!
JakubKnejzlik

3

Giả sử bạn đã hoàn thành Sản phẩm> Lưu trữ sau đó, từ Trình tổ chức (Shift Apple 2), nhấp vào Lưu trữ.

Chọn Lưu trữ của bạn. Chọn Chia sẻ. Trong phần "Chọn nội dung và tùy chọn để chia sẻ:", đặt Nội dung thành "Gói kho ứng dụng iOS (.ipa) và Nhận dạng cho phân phối iPhone.

Nhấp vào Tiếp theo, nhập tên ứng dụng và nhấp vào Lưu.

Chi tiết đầy đủ với các ảnh chụp màn hình có tại đây: Xcode4UserGuide


2

Một người đã thử tất cả các câu trả lời khác và không gặp may, vui lòng đánh dấu vào hộp kiểm này, hy vọng nó sẽ giúp ích (đã thực hiện thủ thuật cho tôi xcode 6.0.1)

nhập mô tả hình ảnh ở đây


0

Tôi đã có cùng một vấn đề ... Phải tạo lại dự án từ đầu.

Lưu ý: dự án của tôi đã được tạo trong XCode 3.1 và đang liên kết với một thư viện tĩnh đang được xây dựng dưới dạng một tiểu dự án (đến một đích chung). Tôi đã thay đổi điều này để xây dựng nguồn thay vì khi tôi tạo lại dự án XCode trong XCode 4.

Giờ đây, khi thực hiện Sản phẩm / Lưu trữ / Chia sẻ ... sẽ có tùy chọn "Gói kho ứng dụng iOS (.ipa)" ngay phía trên "Ứng dụng" (hiện đã bị mờ đi) và "Lưu trữ" (xuất khẩu .xcarchive).


0

Cùng một vấn đề. Tôi đã giải quyết việc đặt cờ "bỏ qua cài đặt" thành CÓ cho từng dự án bên ngoài, giữ nguyên các mục tiêu khác của dự án chính.

Tôi cũng phải vào "Chỉnh sửa sơ đồ", chọn bảng "Lưu trữ" và đặt cài đặt bản dựng chính xác cho mục đích đặc biệt của mình.

Sau đó, một Sản phẩm đơn giản -> Lưu trữ -> Chia sẻ đã thực hiện công việc mong đợi.


0

Bạn sẽ cần phải xây dựng và lưu trữ dự án của bạn. Bạn có thể cần kiểm tra những cài đặt ký mã nào bạn có trong dự án và có thể thực thi được.

Sử dụng Trình tổ chức để chọn phiên bản lưu trữ của bạn và sau đó bạn có thể Chia sẻ phiên bản đó của dự án. Bạn sẽ cần phải chọn lại mã chính xác. Nó sẽ cho phép bạn lưu tệp .ipa ở nơi bạn muốn.

Kéo và thả tệp .ipa vào iTunes và sau đó đồng bộ hóa với iPhone của bạn.


0

Nếu đó là một trò chơi (cũng có thể là ứng dụng) và bạn có một số thư viện tĩnh như cocos2d hoặc thư viện bên thứ ba khác ... thì bạn chỉ cần chọn * CHỈ thư viện tĩnh * (KHÔNG phải ứng dụng) và trong cài đặt bản dựng của nó trong Triển khai, đặt cờ Skip Install thành YESvà Lưu trữ nó sẽ ...


0

Tôi đã ném vấn đề tương tự. Không có câu trả lời nào ở trên có tác dụng với tôi, nhưng tôi đã tự mình tìm ra giải pháp. Tệp ipa không được tạo vì có tệp thư viện (libXXX.a) trong Target-> Build Phase -> Copy Bundle với tài nguyên

Hy vọng nó sẽ giúp được ai đó :)

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.