Cảnh báo Xcode 7 Beta: Định hướng giao diện và khởi chạy Storyboard


131

Tôi đã mở dự án của mình trong Xcode 7 beta và tôi nhận được các cảnh báo sau mà tôi không nhận được trong Xcode 6:

 All interface orientations must be supported unless the app requires
 full screen.


 A launch storyboard or xib must be provided unless the app requires
 full screen.

Ứng dụng chỉ sử dụng hướng dọc cho các thiết bị và tôi đã cài đặt theo cách đó. Tôi cũng có bảng phân cảnh cho cả giao diện iphone và ipad. Tôi không thể xác định lý do tại sao tôi nhận được những cảnh báo này. Đây có phải là lỗi Xcode 7 beta không?


Nghe có vẻ như một lỗi. Kiểm tra diễn đàn dev của Apple. Niềm vui của việc trở thành người thử nghiệm beta: p
Sam B

Câu trả lời:


274

Cảnh báo này là mới đối với iOS 9 vì nó hỗ trợ các ứng dụng có thể thay đổi kích thước với hỗ trợ đa cửa sổ. Trước đây, các ứng dụng sẽ được tự động điều chỉnh sang các thiết bị mới có độ phân giải màn hình phần cứng khác với các độ phân giải trong hình ảnh khởi chạy (về cơ bản là cách iOS phát hiện độ phân giải giao diện được hỗ trợ). Giờ đây, các ứng dụng hỗ trợ nhiều cửa sổ phải xác định độ phân giải mà chúng hỗ trợ bằng cách bao gồm hình ảnh khởi chạy hoặc bảng phân cảnh cho tất cả các loại màn hình thiết bị.

Trừ khi bạn đang viết lại ứng dụng của mình để hỗ trợ nhiều cửa sổ, bạn sẽ yêu cầu 'Toàn màn hình'. Đây là một gợi ý cho iOS rằng bạn không hỗ trợ nhiều cửa sổ và về cơ bản làm cho iOS 9 hoạt động như các phiên bản trước về vấn đề này.

Vì vậy, nếu bạn đang gửi bản cập nhật ứng dụng cho iOS 9 và bạn không hỗ trợ nhiều cửa sổ, tất cả những gì bạn phải làm là đi đến cài đặt Mục tiêu dự án của bạn, chọn Chung và trong phần 'Thông tin triển khai' tìm hộp đánh dấu được gọi là 'Yêu cầu toàn màn hình'. Đánh dấu vào đây và các cảnh báo sẽ biến mất.

Nó chắc chắn không phải là một lỗi. Nếu cảnh báo này xuất hiện, thì ứng dụng của bạn có thể gặp sự cố trong khi gửi. Không chắc chắn về điều đó, vì tôi chưa gửi ứng dụng với iOS 9 GM Seed, nhưng tôi chắc chắn sẽ đánh dấu vào ô :-)


4
Câu trả lời này tốt hơn nhiều so với câu hỏi hiện đang dẫn đầu. Cảm ơn bạn đã giải thích "lý do" của thay đổi này và "cài đặt" toàn màn hình thực sự là gì. (Tôi tưởng tượng đó là cùng một cài đặt mà các trò chơi đã sử dụng để thoát khỏi thanh tiêu đề, nhưng có vẻ như đây không phải là trường hợp.)
natevw

@natevw nhưng gần như không súc tích như câu nói với bạn rằng "chỉ cần kiểm tra tất cả các hộp chết tiệt". Câu trả lời này khiến tôi tin rằng tôi cần một loạt các hình ảnh màn hình khởi chạy mới để xóa cảnh báo ...
dcow

1
@dcow - Chà, bạn đọc nhầm rồi. Tôi nói rõ rằng bạn chỉ cần thêm hình ảnh khởi động HOẶC đánh dấu vào ô Yêu cầu toàn màn hình. Hiếm khi có một câu trả lời đơn giản cho những điều này ... Nó phụ thuộc vào những gì bạn muốn đạt được.
Simon Tillson

1
@SimonTillson bạn đọc bình luận của tôi sai và rõ ràng không nhìn vào câu trả lời dưới đây. Tôi không nói về hộp yêu cầu toàn màn hình . Các sửa chữa thực tế là để hỗ trợ tất cả các định hướng. Điều này không yêu cầu thêm hình ảnh khởi động. Nó đơn giản có nghĩa là đảm bảo tất cả các hộp được kiểm tra theo hướng thiết bị trong cài đặt dự án chung. Có thể bạn đang ám chỉ rằng bằng cách đề xuất cách khắc phục là "bao gồm hình ảnh khởi động hoặc bảng phân cảnh cho tất cả các loại màn hình thiết bị" , nhưng như tôi đã nói, gần như không ngắn gọn như câu trả lời rõ ràng cho bạn biết nhiều.
dcow

@dcow OP chỉ giải quyết các cảnh báo một mình, nó không hỏi về cách hỗ trợ đa cửa sổ. Vì nhiều cửa sổ chỉ hoạt động chính xác ở độ phân giải gốc, nên bạn có quyền tải lên hình ảnh cho tất cả các loại màn hình thiết bị và tất cả các hướng sử dụng nên được đánh dấu. Tuy nhiên, tôi vẫn không hiểu vấn đề ban đầu của bạn với câu trả lời của tôi là gì, vì hầu hết người dùng chỉ muốn biết ý nghĩa của Yêu cầu Toàn màn hình và / hoặc cách loại bỏ cảnh báo.
Simon Tillson

62

Chỉ cần đi đến mục tiêu của bạn, nhấp vào tab "Chung", tìm phần "Thông tin triển khai", kiểm tra "Yêu cầu toàn màn hình". :)

Thật dễ dàng phải không?

BTW, đây không phải là giải pháp tốt nhất. Sẽ có nhiều giải pháp tốt hơn. Nhưng khi tôi trả lời câu hỏi này, tôi chỉ nghĩ làm thế nào để giết những lời cảnh báo. Tôi đã không giải thích tại sao làm điều này nhưng làm thế nào để giải quyết điều này. Phiên bản Xcode beta có thể thay đổi các tính năng của nó, vì vậy tôi chỉ cung cấp "cách giải quyết" vào thời điểm đó. Vì vậy, nếu bạn nghĩ rằng giải pháp của tôi là một cách giải quyết, xin vui lòng bỏ phiếu cho các câu trả lời tốt hơn khác. Nhưng đây không phải là lý do để bỏ phiếu. Cảm ơn :)


15
Đây chắc chắn không phải là một giải pháp, chỉ đơn giản là một cách giải quyết nửa nướng. Trân trọng, tôi không đồng ý với câu trả lời của bạn.
kbpontius

Một giải pháp khác là kiểm tra tất cả "Định hướng thiết bị" ở cùng một nơi và cung cấp tệp xib hoặc bảng phân cảnh thay vì tệp hình ảnh. Đôi khi, chúng ta phải lựa chọn: kiểm tra "Yêu cầu toàn màn hình" hoặc tất cả trong "Định hướng thiết bị". Bởi vì chúng tôi được yêu cầu làm điều này bằng Xcode. :)
YangXiaoyu

6
@kpont Chính xác thì bạn mong đợi điều gì như một giải pháp? Magic snap của ngón tay để loại bỏ cảnh báo? Xcode 7 có siêu dữ liệu bổ sung cần thiết và bạn phải cung cấp nó. Nếu bạn nghĩ rằng đây là một lỗi, bạn đã mở báo cáo lỗi với Apple chưa?
Leo Natan

6
Cách giải quyết có giá trị trong bối cảnh "ứng dụng của tôi được xây dựng và chạy tốt vào ngày hôm qua, nhưng hôm nay Xcode đưa ra cảnh báo." Rõ ràng, Apple muốn mọi nhà phát triển cập nhật mọi ứng dụng để chạy với mọi tính năng được kích hoạt. Tuy nhiên, "ở đây trong thế giới thực", đôi khi chúng ta chỉ cần đẩy một bản sửa lỗi hoặc bản dựng tiếp theo của một loại nào đó, và đối phó với bối cảnh luôn thay đổi của Apple vào thời điểm sau. Cách giải quyết có giá trị. Tương tự như vậy, khái niệm thêm xibs / bảng phân cảnh để hỗ trợ định hướng là hợp lệ. Yay!
Olie

4
Một "cách giải quyết nửa nướng" mà Apple đã thêm một hộp kiểm trong Cài đặt chung ...
Rivera

15

Điều này là do Apple đã thêm khả năng đa tác vụ trong iOS 9. Tất cả những gì bạn cần nói với Xcode là ứng dụng của bạn yêu cầu toàn màn hình.

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Ó.

Để đọc thêm về nó nói chung.
https://developer.apple.com/l Library / ios / documentation / WindowsViews / Contualual / AdtingingMultitaskingOniPad / index.html


11

Tôi chỉ thấy lỗi này và sau khi đọc các bình luận, tôi chắc chắn muốn hỗ trợ iPad và sử dụng nhiều cửa sổ. Điều này đơn giản như kiểm tra các tùy chọn Định hướng thiết bị "Cảnh trái" và "Cảnh phải" và đảm bảo rằng giao diện người dùng của tôi hỗ trợ các tùy chọn này.

Cách tốt nhất tôi tìm thấy để kiểm tra hỗ trợ đa cửa sổ tốt là sử dụng các trình giả lập có thể thay đổi kích thước hoặc theo ý kiến ​​của tôi, sử dụng iPad Pro trong XCode 7.1 và thực sự kích hoạt tính năng đa cửa sổ bằng cách kéo từ bên phải. Sau khi thực hiện các bước này, ứng dụng của tôi hỗ trợ các tính năng này và tôi có thể nhanh chóng xem những gì tôi cần cập nhật hoặc tối ưu hóa để hỗ trợ đầy đủ cho chúng.


"Cách tốt nhất tôi tìm thấy để kiểm tra hỗ trợ đa cửa sổ tốt là sử dụng trình giả lập có thể thay đổi kích thước hoặc IMO tốt hơn, sử dụng iPad Pro trong XCode 7.1 và thực sự kích hoạt tính năng đa cửa sổ bằng cách kéo từ bên phải." Đây thực sự là một câu trả lời, trong giai điệu đàm thoại. Bạn có thể đã làm rõ trong bình luận của bạn trước khi bỏ phiếu xuống.
d2burke

Điểm tốt, tôi đã bỏ lỡ phong cách đàm thoại. Tôi xin lỗi. Nhưng bạn có thể muốn viết lại nó - tôi đã bỏ lỡ lần đầu tiên và tôi là người bản ngữ.
Abizern

Tôi hiểu :) Cảm ơn bạn đã phản hồi. Tôi sẽ cập nhật nó ngay bây giờ.
d2burke

2
Đây là câu trả lời chính xác cho câu hỏi này. Cảm ơn!
Aviel Gross

lộn ngược đã không được kiểm tra cho tôi. cho phép nó loại bỏ cảnh báo. Tôi cũng nghĩ rằng đây là câu trả lời đúng
neelabh

8

Theo mặc định, Định hướng thiết bị chỉ cho phép Chân dung, Cảnh trái và Cảnh phải. Bạn cũng cần bật Upside Down.

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


3

Thư mục xây dựng sạch sẽ và sắp xếp lại

Tôi đã nhận được All interface orientations must be supported unless the app requires full screen.tin nhắn ngày hôm nay trong Xcode 7.3.1, dường như không có lý do, không có thay đổi liên quan mà tôi đã thực hiện.

  • Tôi làm có mộtLaunchScreen.storyboard
  • Tôi chưa kiểm tra Requires full screen.

Tôi đã thử thao tác thông thường khi Xcode khiến tôi hoang mang về một số lỗi mới vì lý do không chính đáng:

  1. Giữ phím Tùy chọn trong khi nhấp vào Productmenu.
  2. Chọn Clean Build Folder( không Clean ).
  3. Chọn Product> Build.

Không còn vấn đề nữa. Sau một vài phiên xây dựng và chạy, thông báo lỗi vẫn chưa xuất hiện lại.


0

Bạn đã cung cấp "Launch Storyboard" cho ứng dụng của mình chưa? Hoặc bạn vừa cung cấp hình ảnh tĩnh cho các kích cỡ khác nhau.

Kiểm tra tại đây: https://developer.apple.com/lvern/prerelease/ios/documentation/UserExperience/Conceptual/MobileHIG/LaunchImages.html


Tôi sử dụng một hình ảnh khởi động, không phải là một bảng phân cảnh khởi động. Tôi nghĩ rằng bảng phân cảnh khởi động là tùy chọn. Tôi đoán chúng tôi khuyên bạn nên sử dụng bảng phân cảnh khởi động thay vì hình ảnh khởi chạy trong Xcode 7, đó là lý do cảnh báo? Phiên bản hiện tại của ứng dụng đã được Apple chấp thuận, tôi đoán tôi sẽ bao gồm một bảng phân cảnh ra mắt trong phiên bản tiếp theo mà tại đó Xcode 7 sẽ được phát hành ra công chúng. Cảm ơn
bachma0507

Tôi đang gặp vấn đề tương tự, vì vậy chỉ cần xác nhận @cbiggin - bạn cần có bảng phân cảnh khởi chạy để thoát khỏi lỗi này?
amitsbajaj

Không thể xác nhận nó, chỉ là những gì tôi đưa ra giả thuyết có thể gây ra vấn đề. Hãy thử thêm Launch Storyboard và xem nếu nó biến mất. Nếu có, hãy bỏ phiếu cho câu trả lời của tôi :)
cbiggin

1
Hãy nhớ rằng bạn chỉ có thể sử dụng bảng phân cảnh khởi chạy cho ios> = 8
troppoli

0

Đặt UIRequiresFullScreen thành CÓ trong Info.plist. Và đánh dấu Yêu cầu toàn màn hình .nhập mô tả hình ảnh ở đây

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.