iOS 9 Xcode 7 - Ứng dụng xuất hiện với các thanh màu đen ở trên và dưới


116

Đã cài đặt ứng dụng trên iPhone 6 iOS9 và đây là những gì đã xảy ra. Chú ý các thanh màu đen trên và dưới. Nó hoạt động tốt trên iOS8. Làm thế nào tôi có thể sửa chữa nó?

Tôi đã thử xây dựng với Xcode 6.4 & 7. Kết quả tương tự.

(iPhone 5 được sử dụng để chạy các ứng dụng iPhone 4 như thế này)

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


Tôi gặp vấn đề tương tự trên iPhone 6 ngay sau khi nâng cấp lên iOS 9
aledalgrande

Bạn đang sử dụng điều hướng hoặc điều khiển thanh tab trong ứng dụng của bạn?
Ing. Ron

@RonWood Cả hai thực sự.
Mojtaba

Hãy thử cách khắc phục tại đây: stackoverflow.com/questions/32312906/ từ
aledalgrande

Câu trả lời:


187

Bạn đã di chuyển ứng dụng của mình từ phiên bản Xcode trước đó chưa? Nếu vậy thì Xcode hiện đang đưa ra một giả định về kích thước màn hình của bạn và bạn cần một cách chỉ ra kích thước màn hình thực tế trong thời gian chạy.

Có hai cách:

a) Nếu bạn sử dụng màn hình khởi chạy.

Bạn đang thiếu một tệp LaunchScreen.storyboard. Tạo một tệp LaunchScreen.storyboard và thêm nó vào dự án của bạn.

b) Nếu bạn không sử dụng màn hình khởi chạy.

Chuyển đến cài đặt của Target và chọn Chung, sau đó Biểu tượng ứng dụng và Khởi chạy hình ảnh. Bây giờ hãy đặt "Khởi chạy tệp màn hình" thành "main.storyboard" của bạn (hoặc bảng phân cảnh khác nếu thích hợp)


1
Nội dung của LaunchScreen.storyboard phải là gì? Tôi gặp lỗi khi nói bảng phân cảnh OSX không hỗ trợ thiết bị mục tiêu "iphone"
adamF

4
Bạn không cần một tệp LaunchScreen. Một tùy chọn khác là cung cấp các hình ảnh khởi chạy cần thiết cho từng kích thước màn hình được hỗ trợ.
rmaddy

Tôi gặp vấn đề tương tự khi mở ứng dụng trong iOS 9.1, nhưng vấn đề của tôi đã được giải quyết bằng cách thêm hình ảnh màn hình khởi chạy cho tất cả độ phân giải, nhờ @rmaddy
g212ss

4
Trong trường hợp của tôi, tôi cần thay đổi "Khởi chạy tệp màn hình" thành MainStoryBoard nếu bạn không có Launch.screen.storyboard để làm cho nó hoạt động
Evan Lin

Các b lựa chọn làm việc đúng cách đối với tôi! Nó làm tôi phát điên, cảm ơn rất nhiều!
frisinacho

29

Ứng dụng của tôi không sử dụng hình ảnh khởi chạy. Đặt tệp "Khởi chạy tệp màn hình" thành tệp "main.storyboard" của tôi đã khắc phục sự cố cho tôi.

Có thể tìm thấy cài đặt này trong "Target-> General-> App Icon và Launch Images"

Sử dụng liên kết sau để biết thêm thông tin: http://oleb.net/blog/2014/08/replaces-launch-images-with-storyboards/


2
Điều này làm việc cho tôi và có vẻ như là một giải pháp tốt hơn nhiều so với việc thêm một bảng phân cảnh mới ngẫu nhiên vào dự án của bạn.
Jeremy

1
Nếu dự án là dự án khởi động nhanh Parse IOS, hãy truy cập Target-> General-> Biểu tượng ứng dụng và khởi chạy hình ảnh và giá trị thả xuống "Launch Screen File" trống. Vì vậy, chọn "Main.storyboard" sẽ giải quyết vấn đề "các thanh màu đen trên cùng và dưới cùng".
sfbayman

Giải pháp này sẽ không hoạt động nếu bạn cần cung cấp chế độ xem tùy chỉnh cho hình ảnh khởi chạy hoặc hình ảnh khởi chạy của bạn khác với bộ điều khiển chế độ xem ban đầu của bảng phân cảnh.
Himanshu Mahajan

17

Đối với tôi, vấn đề là tôi đang di chuyển ứng dụng của mình từ phiên bản Xcode trước đó và dự án bị thiếu tệp LaunchScreen.storyboard. Tôi vừa tạo LaunchScreen.storyboard và thêm nó để khởi chạy Screen File. Điều này đã lừa Ứng dụng với các thanh màu đen trên giải pháp trên và dưới


6

Tôi đang sử dụng xcode 7.2. Lúc đầu, tôi đã tạo một tệp LaunchScreen.storyboard, như Kali Permanganate đề xuất, và nó đã hoạt động! Tuy nhiên, tôi không muốn có màn hình khởi chạy, vì vậy tôi đã thử đặt Main.storyboard thành Launch Screen File và nó đã làm được điều đó!

xcode 7.2


2

Khi bạn di chuyển ứng dụng của mình từ phiên bản trước của xCode sang xCode 6 hoặc xCode 7, bạn sẽ gặp phải vấn đề này.

Đối với iOS 7 trở về trước, các nhà phát triển cần cung cấp hình ảnh khởi chạy riêng cho tất cả các kích thước màn hình, độ phân giải và định hướng mà ứng dụng của họ hỗ trợ.

Trong Xcode 6 trở lên, có một tùy chọn khác. Bạn có thể chỉ định bảng phân cảnh có bộ điều khiển xem ban đầu sau đó sẽ được sử dụng làm màn hình khởi chạy của ứng dụng. Sử dụng các bước dưới đây:

  • Tạo một tập tin bảng phân cảnh trống có tên LaunchScreen.storyboard.

  • Chuyển đến cài đặt mục tiêu của bạn và trên tab "Chung", chọn bảng phân cảnh làm Tệp màn hình khởi chạy trong phần "Biểu tượng ứng dụng và hình ảnh khởi chạy". Xcode sẽ thêm khóa UILaunchStoryboardName tương ứng vào Info.plist của ứng dụng của bạn. Khi có khóa này, Xcode sẽ ưu tiên nó hơn bất kỳ hình ảnh khởi chạy nào bạn có thể đã đặt.

  • Thêm một số cuộc phỏng vấn vào chế độ xem của bảng phân cảnh mới được tạo và đặt chúng với các ràng buộc. Khi bạn khởi chạy ứng dụng trên thiết bị, HĐH sẽ sử dụng cảnh làm màn hình khởi chạy.

Xóa ứng dụng cũ khỏi trình giả lập và làm sạch dự án.

Chúc mừng :-)


2

Tôi có vấn đề tương tự trong ứng dụng của tôi. Trong ứng dụng của tôi, tôi có nhiều mục tiêu được thêm vào dự án. Nếu tôi sử dụng giải pháp khởi động bảng phân cảnh thì tôi có thể thấy toàn màn hình nhưng trong trường hợp của tôi, hình ảnh Bữa trưa của tôi trông mờ và kéo dài trên iPhone 4. Để đi ra từ vấn đề này, tôi đã sử dụng các giải pháp tài sản LaunchImage. Sau này tôi vẫn gặp phải vấn đề tương tự. Tôi đã thử tất cả các giải pháp trên, cuối cùng tôi thấy hình ảnh png của mình không bao gồm các độ phân giải ALPHA . Sau khi thêm hình ảnh mới, tôi có thể thấy hình ảnh toàn màn hình.


2

Đây là nếu bạn hoàn toàn không sử dụng bảng phân cảnh.

Nó xảy ra khi bạn loại bỏ LaunchScreentừ Launch Screen Filetrong App icons and Launch Images. nhập mô tả hình ảnh ở đây

Thay vì xóa nó từ đây, hãy truy cập info.plist và tìm Launch screen interface file base namevà xóa LaunchScreen, tức là để trống. nhập mô tả hình ảnh ở đây

It wont hiển thị trong info.plist nếu bạn đã gỡ bỏ LaunchScreenđã từ Launch Screen File. Sau đó, bạn có thể cung cấp bất kỳ tên nào Launch Screen Filevà nó sẽ xuất hiện và bạn có thể xóa tên đó.


1

Chuyển đến danh mục tài sản và tạo Hình ảnh khởi chạy iOS mới. sau đó trong Mục tiêu> Chung> Biểu tượng ứng dụng và Khởi chạy hình ảnh> Nguồn hình ảnh khởi chạy, bạn sẽ tự động thấy Hình ảnh khởi chạy mới được tạo trong danh mục tài sản.


1

Trong trường hợp của tôi, tôi có một vài mục tiêu trong dự án và mỗi mục tiêu đều có hình ảnh màn hình khởi chạy riêng. Điều kỳ lạ một trong những mục tiêu có vẻ ổn nhưng những người khác có những thanh màu đen đó. Thứ nằm trong tên của thư mục Launch bên trong tài sản. Thay đổi tên thành LaunchImage giải quyết vấn đề.



0

Trong trường hợp của tôi, tôi có một tài sản với hình ảnh khởi chạy tuy nhiên nó cũng hiển thị thanh tối trên cùng và dưới cùng.

Tôi đã thử giải pháp khởi động bảng phân cảnh và có nó hoạt động nhưng tôi không muốn thêm một tệp mới vì vậy, đây là những gì tôi đã làm để khắc phục sự cố:

  1. Sao chép hình ảnh khởi chạy của tôi vào một thư mục khác
  2. Đã xóa tài sản LaunchImage hiện có
  3. Đã thêm tài sản LaunchImage mới
  4. Đã thêm hình ảnh vào LaunchImage mới

Đó là nó!


0

Chuyển đến cài đặt đích trong xcode trong phần đó, đi đến biểu tượng Ứng dụng và khởi chạy phần hình ảnh trong phần đó, chọn tệp màn hình khởi chạy, bạn sẽ tìm thấy giá trị thả xuống chọn giá trị CDVLaunchScreeen so với giá trị tệp màn hình khởi chạy


0

Tôi gặp vấn đề tương tự trên iPod. Để khắc phục điều này, tôi đã thay thế

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>

với

<key>UILaunchStoryboardName~ipad</key>
<string>LaunchScreenIpad</string>
<key>UILaunchStoryboardName~iphone</key>
<string>LaunchScreenIphone</string>
<key>UILaunchStoryboardName~ipod</key>
<string>LaunchScreenIphone</string>

trong Info.plist.


-1

Đừng làm bất cứ điều gì được mô tả trong các câu trả lời trước đó ...

Để hiển thị chế độ xem Trình điều khiển theo bước đơn sau đây

Step 1 : Add the splash Screen for iPhone and iPad.

Sau đó, lỗi này sẽ không trở lại.

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.