Lỗi gói không hợp lệ - Nhận yêu cầu khởi chạy bảng phân cảnh


336

Tôi liên tục gặp lỗi này khi tôi cố gắng gửi ứng dụng của mình đến cửa hàng bằng Xcode:

LRI ITMS-90485: "Gói không hợp lệ. Hỗ trợ đa nhiệm iPad yêu cầu khởi chạy bảng phân cảnh theo gói 'com.companyname.appname.'"

Bất cứ ai cũng biết lỗi này thực sự có nghĩa là gì?


Xin lưu ý rằng tôi vừa cập nhật lên Xcode 7 GM hôm nay và đã gửi một ứng dụng đến cửa hàng.
matthias_b_nz

1
Vì vậy, tôi đã sử dụng Xcode 7 GM khi gửi.
matthias_b_nz

1
Bạn có hình dung điều này?
andygeers

44
Không, tôi đã đi ngủ.
matthias_b_nz

Câu trả lời:


677

Điều này là do bạn cần chỉ định cách ứng dụng của bạn được xử lý đa nhiệm trên iPad.

Nếu bạn không muốn xử lý đa nhiệm ngay bây giờ, bạn chỉ cần vô hiệu hóa nó bằng cách đi tới tab "Chung" của mục tiêu:

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


3
Có cách nào để làm việc này mà không cần chọn hộp kiểm "Yêu cầu toàn màn hình" không?
msimons

5
@msimons Có: làm cho ứng dụng của bạn tương thích với đa nhiệm iPad và không cần phải kiểm tra hộp. Hộp kiểm "Yêu cầu toàn màn hình" chỉ để sử dụng trong trường hợp ứng dụng của bạn không thể xử lý đa nhiệm tại thời điểm này. Dù sao, ứng dụng của bạn cần chỉ định cho HĐH nếu nó tương thích hay không với đa nhiệm, nếu không, Apple không cho phép bạn gửi đến App Store.
André Coleues

34
Tại sao họ không biến điều này thành mặc định và yêu cầu các nhà phát triển chọn tham gia đa tác vụ? Quá trình gửi ứng dụng đã đủ phức tạp!
Rupert Rawnsley

8
@RupertRawnsley Có lẽ vì họ muốn các nhà phát triển làm cho ứng dụng của họ tương thích với đa tác vụ theo mặc định.
André Coleues

1
Ứng dụng của tôi KHÔNG sử dụng đa nhiệm và nó không sử dụng bảng phân cảnh, lỗi cho biết "bảng phân cảnh khởi chạy" là bắt buộc. Nếu tôi phải kết hợp bảng phân cảnh vào ứng dụng của mình vào giờ thứ 99 này thì đó sẽ là một thảm họa.
Matthys Du Toit

39

Tôi đã giải quyết vấn đề theo cách này, xem tại đây :

Nếu bạn phải chọn không tham gia Slide Over và Split View, hãy làm điều đó một cách rõ ràng bằng cách thêm khóa UIRequiresFullScreen vào tệp Info.plist của dự án Xcode của bạn và áp dụng giá trị Boolean CÓ.


31

Bạn cần thêm Màn hình khởi chạy (Xcode> Tệp> Mới). Trong iOS> Giao diện người dùng, bạn chọn "Màn hình khởi chạy" để thêm nó vào dự án.

Đối với iPad, bạn cần hỗ trợ cả 4 định hướng.

Chọn trong Xcode tệp mục tiêu của bạn và trong Tab Chung, đi tới "Biểu tượng ứng dụng và Khởi chạy hình ảnh". Tại đây bạn chọn tệp Launch Screen mà bạn đã tạo. Khi bạn khởi chạy ứng dụng, bạn sẽ thấy hình ảnh khởi chạy (bitmap) không được sử dụng, nhưng Bảng phân cảnh màn hình khởi chạy.


1
Đây là câu trả lời tốt nhất. Lưu ý khiếu nại là bạn cần có bảng phân cảnh khởi chạy - ứng dụng của tôi có tệp XIB từ một số phiên bản XCode trước đó, nhưng điều này không tốt cho iOS 9.
Bryan

Đây là cách khắc phục 'thay thế', nếu bạn muốn xử lý đa nhiệm. Nếu bạn có một dự án hiện tại và chỉ cần nó đi qua cài đặt cờ Yêu cầu toàn màn hình là cách khắc phục nhanh, nhưng có lẽ bạn nên xem xét bằng cách sử dụng bảng phân cảnh.
Nga

Tốt nhất! Tôi cập nhật dự án cũ của tôi và đây chính xác là những gì tôi cần.
LÊ SANG

27

Bạn có thể làm như André đã hiển thị hoặc thêm trực tiếp:

<key>UIRequiresFullScreen</key>
<true/>

Trên tập tin .plist của bạn.


1
Vì Xcode 7.2, tab chung đã biến mất và đây dường như là cách để đi ngay bây giờ.
Peege151

3
Gì? Không, không. Tab Chung không biến mất trong Xcode 7.2.
đánh bại

15

Bạn có thể tìm thấy hộp kiểm "Yêu cầu toàn màn hình" trong mục Chung> Mục tiêu

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


8

Nếu bạn đang sử dụng Cordova, bạn có thể muốn sử dụng plugin toàn màn hình cordova-ios- Yêu cầu toàn màn hình (xem Cách tắt đa nhiệm iOS9 thông qua Ionic / Cordova ?)

Cập nhật : bạn cũng có thể sử dụng đa chức năng cordova-plugin-ipad , điều này dường như cũng ngăn chặn một vấn đề khác (ITMS-90474)

Cập nhật : điều này bây giờ sẽ được sửa bằng các công cụ Cordova 5.4 mà không cần các plugin này.


Vấn đề vẫn còn đó trên cordova 6.5.0
Mirko


0

NẾU bạn CHỈ muốn đặt RequestFullScreen cho iPhone và hỗ trợ Đa nhiệm iPad, hãy thử điều này:

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIPad.storyboard</string>
<key>UIRequiresFullScreen</key>
<true/>
<key>UIRequiresFullScreen~ipad</key>
<false/>

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

LaunchScreenIPad.storyboard là tên của LaunchScreen cho iPad.

iPhone vẫn sẽ sử dụng Launch Images Sourcehình ảnh.

Tài liệu tham khảo của Apple: Tạo khóa dành riêng cho nền tảng và thiết bị

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.