Xcode 4 + iOS 4.3: “Không có Packager nào tồn tại cho loại kho lưu trữ”


76

Tôi vừa nâng cấp lên Xcode 4 và đang cố gắng tạo bản dựng adhoc của một dự án trước đó. Bất cứ khi nào tôi sử dụng tùy chọn "Lưu trữ", tôi sẽ không có tệp lưu trữ nào trong cửa sổ Organizer HOẶC có tệp lưu trữ, nhưng không có tùy chọn nào để đóng gói nó dưới dạng .ipa, bởi vì "Không có Trình đóng gói nào tồn tại cho loại lưu trữ ".

Có ai nhận được bản dựng adhoc hoạt động theo Xcode 4 cho dự án đã được di chuyển từ Xcode 3.2 không?


câu hỏi tương tự nhưng cũng không có câu trả lời :-( stackoverflow.com/q/5265292/509535
Manni

cố gắng xây dựng và kiểm tra các file sạch quyền trong Mac Disk Utility đầu tiên
Sergnsk

có ai biết cách tạo và thêm một packager như vậy không?
Rob Agar

Tôi không gặp vấn đề gì khi di chuyển một dự án. Tôi có một bản sao lưu của dự án cũ. Tôi sẽ kiểm tra điều này và cho bạn biết. Chỉnh sửa: Dự án cũ của tôi đang được đọc dưới dạng dự án OS-X. Tôi đã phải chỉnh sửa tệp dự án và thay đổi mục tiêu xây dựng. Điều này đã khắc phục sự cố của tôi. Tôi nghi ngờ đây là vấn đề trong trường hợp của bạn.
Steve McFarlin

Chỉnh sửa chương trình của bạn. Bạn có những gì làm Cấu hình xây dựng cho hành động Lưu trữ? (Dự án -> Edit Scheme -> Lưu trữ)
Steve McFarlin

Câu trả lời:


134

bạn có thể có một số dự án được liên kết (như thư viện) bên trong dự án chính của bạn. Đi tới cài đặt Xây dựng của các dự án đó và đặt cài đặt "Bỏ qua cài đặt" (Danh mục triển khai) thành "Có", nhưng để "Bỏ qua cài đặt" của dự án chính thành "Không". Xây dựng, lưu trữ và bạn sẽ có thể chọn gói ipa.


Trong trường hợp của tôi, tôi cũng đã bao gồm tiêu đề được sao chép từ dự án con sang mã nguồn của tôi. Và sau đó nó hoạt động.
Mike Bevz

5
+1 Không thể tưởng tượng tôi sẽ mất bao nhiêu giờ nếu bạn không đăng câu trả lời này.
cduhn

+1 đã cứu tôi, cảm ơn! Điều quan trọng là mọi người hiểu rằng điều này phải được thực hiện trên chính thư viện tĩnh, không phải mục tiêu ứng dụng của bạn. Điều đó có cho tôi một chút.
jj0b

4
OK, chỉ để tiết kiệm thời gian của người khác khi tìm hiểu bài đăng này. Theo Josh Brown (trong một trong các câu trả lời bên dưới), chỉ thay đổi 'Bỏ qua cài đặt' sẽ không hoạt động NẾU bạn có toàn bộ dự án khác bên trong dự án chính của mình (nghĩa là không chỉ tệp .a). Một bước bổ sung bạn phải làm trong dự án bổ sung đó là ... "Trong dự án đó, hãy chuyển đến Giai đoạn xây dựng và trong phần Sao chép tiêu đề, hãy di chuyển tất cả các tiêu đề từ phần Công khai và Riêng tư sang phần Dự án." - Trong câu trả lời ban đầu ông cũng đề cập đến xem bên trong nội dung của tập tin .xcarchive để xem những gì cần phải được di chuyển
Hlung

CẢM ƠN BẠN, CẢM ƠN BẠN, CẢM ƠN BẠN!
theDuncs

25

Cảm ơn nhưng tôi cần 3 bước để giải quyết vấn đề một cách nhanh chóng với khung dự án của mình:

  1. đặt thuộc tính Target Build Settings / "Skip Setting" thành "YES" cho mọi dự án phụ thuộc

  2. xóa thuộc tính "Thư mục cài đặt" Target Build Settings cho mọi dự án

  3. đối với mọi dự án, hãy chuyển mọi tiêu đề từ phần "Xây dựng giai đoạn / Xây dựng cài đặt / Sao chép tiêu đề" Công khai / Riêng tư sang Dự án


3
Bước # 3 đã làm điều đó cho tôi! Cảm ơn!
Erik

Tôi ước tôi có thể ủng hộ bạn mười lần. # 3 đã giải quyết vấn đề cho tôi.
mmc

Tuyệt vời, điều đó sẽ giúp tôi sau khi thêm hai bước: làm sạch và mở lại XCode. Cảm ơn!
Dmitry Shashlov

Gia nhập nhờ, và cũng có thể nói với mọi người không thay đổi thư mục cài đặt của dự án đầu (nên là $ (LOCAL_APPS_DIR)) - Kho lưu trữ sẽ không hiển thị ở tất cả
Oded Bến Dov

1
Cảm ơn rât nhiều. Điều này riêng tư / công khai để dự án đã làm việc cho tôi.
Sedat Kilinc

9

Tôi thấy rằng sự kết hợp của những câu trả lời này đã giải quyết được vấn đề. Tôi đã dành nhiều thời gian để xác minh xem Skip Install có được đặt thành Có trên tất cả các dự án được liên kết hay không và hóa ra đó chỉ là một phần của vấn đề đối với tôi. Nếu bạn đang gặp sự cố này với Lưu trữ, đây là các bước cần thực hiện:

  1. Tìm kho lưu trữ trong Trình tổ chức, nhấp chuột phải và chọn Hiển thị trong Trình tìm kiếm.
  2. Nhấp chuột phải vào tệp .xcarchive trong Finder và chọn Show Package Contents.
  3. Tìm thư mục Sản phẩm và xem có gì trong đó. Chỉ nên có một thư mục Ứng dụng trong thư mục Sản phẩm và thư mục Ứng dụng chỉ nên chứa một ứng dụng iPhone (YourProject.app).

Nếu, ở bước 3, bạn tìm thấy một thư viện tĩnh (<some-library> .a) trực tiếp trong Sản phẩm hoặc trong một thư mục con, hãy chuyển đến Xcode và chọn dự án tạo ra thư viện tĩnh (bạn sẽ có thể biết dự án nào nó dựa trên tên của thư viện tĩnh). Đi tới Cài đặt bản dựng và chọn mục tiêu, sau đó đặt "Bỏ qua cài đặt" thành "Có".

Nếu ở bước 3, bạn tìm thấy các tệp tiêu đề (<some-header> .h) ngay trong Sản phẩm hoặc trong một thư mục con, hãy chuyển đến Xcode và chọn dự án có chứa các tiêu đề đó. Bạn sẽ có thể tìm thấy dự án dựa trên tiền tố được sử dụng trong tên tệp tiêu đề. Trong dự án đó, hãy chuyển đến Giai đoạn xây dựng và trong phần Sao chép tiêu đề, di chuyển tất cả các tiêu đề từ phần Công khai và Riêng tư sang phần Dự án.

Nhờ câu trả lời nàycâu trả lời nàycâu trả lời này đã giúp tôi giải quyết này.


1
"Trong dự án đó, hãy chuyển đến Giai đoạn xây dựng và trong phần Sao chép tiêu đề, di chuyển tất cả các tiêu đề từ phần Công khai và Riêng tư sang phần Dự án." <- điều này hoạt động! Cảm ơn!
Hlung

5

Đây là hai mẹo khác mà chúng tôi thấy hữu ích với vấn đề này ... không phải là câu trả lời nhưng chúng có thể giúp người khác tiết kiệm rất nhiều thời gian 8 /

Nếu bạn đang sử dụng các lib tĩnh KHÔNG được xây dựng bởi xcode4 thì giải pháp "triển khai-> bỏ qua cài đặt" sẽ không hoạt động với chúng. Công việc xung quanh đó là KHÔNG thêm chúng vào dự án và đảm bảo đường dẫn của chúng nằm trong Tiêu đề và / hoặc Đường dẫn tìm kiếm thư viện trong Cài đặt bản dựng của bạn cộng với các mục -lblah được thêm vào Cờ trình liên kết.

Ngoài ra, nếu bạn có một lib tĩnh được đặt làm Phụ thuộc Mục tiêu (ví dụ: chúng tôi đã đặt libjson.a như thế này và tôi khá chắc chắn đó là điều đúng / hợp lý để làm) thì bạn sẽ không thể tạo .ipa không có vấn đề gì. Chúng tôi đã dành hơn một ngày để nhảy với vấn đề ngu ngốc này và cuối cùng chỉ cần gỡ bỏ điều này đã giải quyết được nó. Cá nhân tôi nghĩ rằng điều này thực sự nên để lại một dự án bị hỏng ... nhưng nó hoạt động rất tốt.


Cảm ơn, điều này cũng làm việc cho tôi. "Bỏ qua cài đặt" không có tác dụng và cuối cùng xóa sự phụ thuộc dự án / mục tiêu của lib khỏi mục tiêu dự án của tôi là giải pháp (và thay vào đó tôi chỉ cần thêm tệp ".a" vào các thư viện được liên kết của dự án, + tiếp tục liên kết đến các tệp tiêu đề )
André Morujão

3

Để tìm ra dự án / thư viện / thành phần nào đang ngăn Xcode tạo một kho lưu trữ thích hợp, hãy làm như sau:

Tìm kho lưu trữ trong Trình tổ chức, nhấp chuột phải và hiển thị trong công cụ tìm. Thao tác này sẽ hiển thị tệp .xcarchive. Nhấp chuột phải và Hiển thị Nội dung Gói. Bây giờ hãy tìm trong thư mục Sản phẩm. Nhiều khả năng sẽ có nhiều hơn một thư mục Ứng dụng với một ứng dụng iPhone bên trong.

Trong trường hợp của tôi, có một cấu trúc thư mục usr / local / lib chứa libOAuthConsumer_iPhone.a và khi tôi tìm kiếm nó trong Xcode, tôi đã thực sự tìm thấy một dự án khác mà tôi chưa đặt Skip Install thành YES. Nó có thể không dễ dàng như vậy đối với mọi người nhưng nhìn vào bên trong gói ít nhất sẽ cung cấp cho bạn một con trỏ về thành phần nào đang làm rối loạn quá trình lưu trữ.


1

Bỏ qua cài đặt không hoạt động đối với tôi. Tôi đã giải quyết vấn đề này khi di chuyển tất cả các tiêu đề được đánh dấu là công khai sang dự án. Tôi hiện đang làm việc trong không gian làm việc với lib tĩnh và ipad proj. Có vẻ như có một lỗi hoặc điều gì đó xảy ra với xcode bất cứ khi nào bạn muốn xây dựng sản phẩm của mình bằng một dự án được liên kết, xcode sẽ xây dựng cả hai và Organizer không hiển thị tùy chọn chia sẻ ipa.


1

Đây là các bước để giải quyết vấn đề trên trong xcode 4.2

1: "Bỏ qua để cài đặt" thành CÓ cho tất cả các thư viện phần thứ ba được thêm vào. "Bỏ qua để cài đặt" thành KHÔNG cho dự án của bạn. Bạn có thể truy cập "Bỏ qua để cài đặt" từ Cài đặt bản dựng.

2: Chọn tiêu đề thư viện bên thứ ba của bạn từ ngăn Bộ điều hướng bên trái.

2.1: Ở bên phải là ngăn Utililtes. Hiển thị và ẩn nó với chế độ xem -> tiện ích-> hiển thị / ẩn tiện ích (lệnh-Option-0) hoặc với nút thứ ba trong điều khiển phân đoạn chế độ xem trên thanh công cụ

2.2: chọn trình kiểm tra tệp (lệnh-option-1)

2.3 chọn mục tiêu thành viên và thay đổi tùy chọn thành 'Dự án' từ công khai hoặc tư nhân

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.