Hình ảnh khởi chạy không hiển thị trong Ứng dụng iOS của tôi


149

Tôi muốn có một màn hình khởi chạy đơn giản để hiển thị trong ứng dụng của mình, được xây dựng bằng Xcode 6.0.1.

Tôi đã thêm một màn hình khởi chạy theo hai cách: Là một XIB (với tên mặc định là LaunchScreen.xib) và như một bộ khởi động được đặt trong xcassets.

Tôi đã đảm bảo rằng "Tập tin màn hình khởi động" của tôi được đặt thành LaunchScreen.xib.

Tôi đã mô phỏng mọi thiết bị có sẵn (ví dụ: "iPhone5 iOS8" / "iPhone5s iOS8" / "iPhone6 ​​iOS8". Lưu ý rằng chỉ có iOS 8 có sẵn trong trình giả lập).


Hình ảnh được sử dụng trong màn hình khởi chạy không nên ở Images.xcassets, chúng nên được đặt trong gói, để kiểm tra xem thử với hình ảnh thử nghiệm không có trong xcassets và đặt màu nền khác cho chính .xib, để xem nếu nó đang tải .xib
Juan Boero

@JuanBoero Tại sao trong gói? Chúng được sử dụng vào thời gian xây dựng, không phải thời gian chạy.
Rudolf Adamkovič

Câu trả lời:


239

Vì vậy, điều này đã khá đau đớn cho một cái gì đó nên tầm thường. Đây là những gì tôi đã làm:

Sử dụng xcassets

Tôi quyết định sử dụng .xcassets so với .xib để khởi chạy. Tôi đã xóa .xib. Nếu bạn đã có hình ảnh.xcassets trong dự án của mình thì thật tuyệt, nếu không, bạn có thể thêm một tệp từ Tệp> Mới>:

AddNewASsetCatalog

Tạo một bộ ảnh khởi động

Bây giờ hãy tạo tối thiểu một tập hợp biểu tượng và tập biểu tượng trong tệp .xcassets của bạn bằng cách nhấp chuột phải vào vùng điều hướng.

Thêm biểu tượng ứng dụng và hình ảnh khởi chạy mới

Cập nhật biểu tượng ứng dụng và khởi chạy cài đặt hình ảnh

Sau đó, tôi đã đảm bảo rằng "Biểu tượng ứng dụng và bộ hình ảnh" trong mục tiêu của mình như bên dưới.

Rất quan trọng: Đảm bảo cài đặt "Khởi chạy tệp màn hình" trống.

Biểu tượng ứng dụng và bộ hình ảnh

Thêm hình ảnh

Cuối cùng nhưng không kém phần quan trọng, thuật ngữ được Apple sử dụng để lựa chọn thiết bị là khó hiểu. Ban đầu tôi nghĩ rằng vì tôi chỉ triển khai cho iOS8 (iPhone Portrait), tôi có thể làm điều này và chỉ cần đưa vào hình ảnh khởi chạy iPhone 6 và iPhone 6+:

Thiết bị

Tôi nhanh chóng nhận ra rằng đó không phải là cách nó hoạt động và tôi đã nhận được một cảnh báo: "Hình ảnh khởi chạy iPhone Retina (4 inch) cho iOS 7.0 và sau đó là bắt buộc".

Vì vậy, tôi đã phải chọn iPhone trong iOS 7.0 trở lên và thêm Hình ảnh cho iPhone 5s.

Vì vậy, để tìm ra hộp nào để kiểm tra bên phải, đừng đặt câu hỏi: Định hướng thiết bị và thiết bị và iOS tối thiểu của tôi là gì mà hãy hỏi:

Những thiết bị nào ngoài đó có thể hỗ trợ iOS tối thiểu của tôi? Bây giờ iOS tối thiểu được hỗ trợ trên các thiết bị đó là gì? Và chắc chắn rằng bạn kiểm tra tất cả các hộp. Vì vậy, đối với tôi, tôi đang nhắm mục tiêu iPhone 5s, 6 và 6 Plus ở mức 8.0 nhưng với điều kiện iPhone 5s có ​​thể tồn tại với 7.0, tôi cũng cần kiểm tra hộp 7.0 để hiển thị trình giữ chỗ hình ảnh. Nói cách khác, hộp kiểm (iOS) ở bên phải hiển thị cho bạn phiên bản iOS tối thiểu có sẵn cho thiết bị đó và bạn cần nhấp vào nó để hiển thị trình giữ chỗ hình ảnh và đặt hình ảnh bất kể bạn có triển khai phiên bản iOS này hay không .

Hy vọng điều này sẽ giúp ai đó.

Thêm tất cả các thiết bị

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


1
không có màn hình khởi chạy, kích thước bàn phím sẽ khác bất kỳ ý tưởng nào về cách khắc phục screencast.com/t/Vk18vuhSqZv
souvickcse 6/2/2015

2
Công cụ này rất khó chịu.
ReduxDJ 21/07/2015

5
Thưa ngài, đã giành được internet.
OhadM

46
Điều này đã hoạt động nhưng những thay đổi chỉ hiển thị khi ứng dụng bị xóa khỏi thiết bị và được cài đặt lại. Màn hình khởi chạy cũ dường như vẫn tồn tại ngay cả sau khi làm sạch bộ nhớ cache và xóa dữ liệu dẫn xuất.
Francis Jervis

15
Ahhhh Tôi cần xóa ứng dụng của mình khỏi điện thoại để thay đổi ảnh hưởng, tôi chỉ lãng phí rất nhiều thời gian: '(
Phil Hudson

31

Các LaunchScreen.xibvà giá trị thông tin Launch screen interface file base namelà từ kinh nghiệm của tôi cả placeholders được tạo ra khi dự án được tạo ra. Nếu bạn muốn sử dụng Images.xcassetsriêng cho màn hình khởi chạy của mình, hãy xóa cả mục LaunchScreen.xibinfo.plistmục.

Nếu bạn cung cấp info.plistcài đặt, ứng dụng của bạn sẽ sử dụng xibchứ không phải của bạnImages.xcassets


1
Giải pháp đơn giản tốt.
Travis M.

2
Giải pháp "arcady bob" đã làm việc với tôi: Tôi đã mở "info.plist" và xóa phần tử "Khởi chạy tên cơ sở tệp giao diện màn hình", chạy ứng dụng của tôi và hình ảnh khởi chạy cuối cùng đã ở đó.
Jose Manuel Abarca Rodríguez

Đây là cũ nhưng đây là những gì cố định nó cho tôi.
Martin

20

Mã số 8:

Hình ảnh được sử dụng trong LaunchScreen.xib không nên có trên .xcassets, hãy thử thả chúng trong gói.

Có vẻ như vào thời điểm .xib được tải, hình ảnh trong .xcassets vẫn chưa khả dụng.

EDIT: Vì một số lý do mờ đục sau khi thêm một số nội địa hóa, màn hình khởi chạy đã ngừng hoạt động, bây giờ nó hoạt động với một hình ảnh từ các tài sản, cực kỳ kỳ lạ.


2
Để thêm vào câu trả lời của bạn ... Gần đây tôi đã cố gắng sử dụng một phông chữ tùy chỉnh trong tệp "Launch Screen.storyboard" của mình. Lý do tôi không thể trở nên rõ ràng sau khi đọc câu trả lời SO này và nghiên cứu / thử nghiệm thêm một chút. Hình ảnh cũng tương tự ... Xcode chuẩn bị ảnh chụp nhanh và ngang của màn hình khởi chạy ứng dụng của bạn và (hiện tại) lưu ở đây : /Library/Caches/Snapshots/<<app_bundle>>/, hoàn thành trước khi các tệp hỗ trợ được tải, bao gồm phông chữ tùy chỉnh và danh mục tài sản.
andrewbuilder

3
Tôi nhận thấy rằng hình ảnh lớn hơn (> 512px) không hiển thị trên LaunchScreen của tôi khi được tải từ .xcasset, trong khi hình ảnh nhỏ hơn sẽ hiển thị. Cảm ơn đã đề cập đến giải pháp của bạn!
auco

Cảm ơn rất nhiều, tôi đã dành gần 3 giờ để gỡ lỗi vấn đề này. Hóa ra .xcasstes là để đổ lỗi
Sergey Grischyov

Tương tự ở đây, đã thay đổi tệp hình ảnh được sử dụng trong xib từ 1024x1024 thành độ phân giải nhỏ hơn 512px.
Eike

1
@JuanBoero Trong gói? Chúng được sử dụng vào thời gian xây dựng, không phải thời gian chạy.
Rudolf Adamkovič

17

Giải pháp của tôi là tạo ra tất cả các hình ảnh khởi động. nhập mô tả hình ảnh ở đây

Sau đó, tôi đặt Nguồn hình ảnh khởi chạy thành tài sản LaunchImage và để trống tệp màn hình khởi chạy.

Cuối cùng, nếu dự án không có Launch Screen.xib, sau đó thêm tệp đó và để nguyên như vậy. nhập mô tả hình ảnh ở đây


4
thêm rất nhiều hình ảnh. tăng kích thước ipa. XIB Launch là Giải pháp cho điều đó. ví dụ: nếu bạn có Nền đơn giản và chỉ đơn giản là một logo ở giữa, thì chúng tôi khuyên bạn nên sử dụng XIB. Chỉ cần đặt màu Nền và thêm UIImage vào giữa, Thats nó. Nhưng một lần nữa, đó là một sự lựa chọn
Jasmeet 9/2/2015

Thêm Launch Sceen.xib mà không sử dụng nó, thực sự đã tạo ra mánh khóe cho tôi. Cảm ơn!
Jacco

Xcode 6 sẽ không cho phép tôi thay đổi "nguồn hình ảnh khởi chạy" nhưng vẫn giữ nó với văn bản này, điều mà tôi không được phép sửa đổi: "Sử dụng danh mục tài sản" - và nó hoạt động giống như một nút, trong đó nếu tôi nhấp vào nó có tùy chọn: Di chuyển hình ảnh khởi chạy vào danh mục tài sản ... không biết phải đi đâu từ đây. Bất cứ ai khác chạy vào đây? Tôi đã nhập toàn bộ thư mục hình ảnh khởi chạy có kích thước khác nhau vào danh mục tài sản LaunchImage. Không có thông báo lỗi, nhưng tôi không thấy hình ảnh khởi chạy hoặc hình ảnh ứng dụng của mình ngay cả sau khi làm theo các hướng dẫn ở trên, xây dựng lại, khởi động lại máy tính của tôi ...
nắng

12

Đối với tôi, nó hoạt động khi tôi gỡ cài đặt ứng dụng và sau đó khởi động lại trình giả lập. Khi cài đặt lại, hình ảnh khởi chạy xuất hiện như mong đợi. Điều này cũng làm việc trên một thiết bị thực tế.


Sau khi gỡ cài đặt ứng dụng, tôi cũng phải khởi động lại thiết bị. Ngoài ra, tôi đã xóa bộ đệm Xcode và cũng khởi động lại Xcode.
lenooh

11

Đối với những người đang sử dụng Asset Catalog's Launch Image, vì tôi đã học được điều này một cách khó khăn nhất, tôi đã có kịch bản này khi lần đầu tiên tôi được cung cấp một jpgtệp sau đó tôi yêu cầu họ chuyển đổi nó thành PNG.

Tôi đã tin tưởng họ đủ để tôi truy cập internet trước vì lý do tại sao hình ảnh khởi chạy không hiển thị và làm mọi cách để không có kết quả, sau đó tôi đã thử đưa lại hình ảnh khởi chạy cũ và hoạt động tốt, đó là những gì tôi nghĩ có không phải là một PNGtập tin thích hợp .

TL; DR: Đảm bảo rằng bạn thực sự đang sử dụng một tệp PNG thích hợp, không phải là một tệp có phần mở rộng được đổi tên.


1
cẩn thận với việc sử dụng chữ hoa trong phần mở rộng tệp, trong khi thiết bị sẽ định vị đúng tệp, trình giả lập có thể không.
Juan Boero

10

Xóa "Khởi chạy tên cơ sở của giao diện màn hình" khỏi tệp Info.plist VÀ xóa "Launch Screen.xib" làm việc cho tôi.


Điều này đã giải quyết vấn đề của tôi. Nhưng tôi nghĩ rằng apple đang gợi ý rằng sẽ tốt hơn cho những người khác sử dụng tệp xib thay vì tạo ra 9 hình ảnh khác nhau.
TypingPanda

7

Chỉ cần gỡ bỏ và cài đặt lại ứng dụng đã làm việc cho tôi:

  • Kiểm tra trong Trình mô phỏng

    1. Xóa ứng dụng trong trình giả lập.
    2. Thoát và khởi động lại trình giả lập.
    3. Chạy lại dự án trong Xcode.

  • Kiểm tra trên thiết bị

    1. Xóa ứng dụng khỏi thiết bị.
    2. Chạy lại dự án trong Xcode.

2
Đối với thiết bị, không chỉ xóa và cài đặt lại không hiệu quả với tôi. Điện thoại khởi động lại (thiết bị) là giải pháp trong trường hợp của tôi
Kutay Demireren

6

Vấn đề với câu trả lời được chấp nhận là nếu bạn không đặt Tệp màn hình khởi chạy, ứng dụng của bạn sẽ ở chế độ nâng cấp trên các thiết bị như iPhone 6 & 6+ => hiển thị mờ.

Dưới đây là những gì tôi đã làm để có một giải pháp hoạt động hoàn chỉnh (tôi đang nhắm mục tiêu iOS 7.1 và sử dụng Xcode 8) trên mọi thiết bị (thực sự, tôi đang phát điên về vấn đề nâng cấp này)

1. Chuẩn bị .xcassets của bạn

Để đơn giản hóa nó, tôi đang sử dụng tệp vector .PDF. Nó rất thuận tiện và tránh tạo nhiều hình ảnh cho mỗi độ phân giải (1x, 2x, 3x ...). Tôi cũng giả sử ở đây bạn đã tạo xcassets của bạn.

  • Thêm hình ảnh màn hình khởi chạy (hoặc tệp vectơ) vào dự án của bạn
  • Chuyển đến .xcassets của bạn và tạo Bộ ảnh mới . Trong cửa sổ Thuộc tính của Hình ảnh, chọn Cân -> Tỷ lệ đơn
  • Kéo và thả tệp vectơ trong Bộ ảnh.

Tạo Bộ ảnh cho .xcassets của bạn

2. Tạo tệp Màn hình khởi chạy của bạn

Tạo một tệp màn hình khởi chạy

3. Thêm hình ảnh của bạn vào tập tin Màn hình khởi chạy của bạn

  • Thêm một đối tượng Chế độ xem hình ảnh vào tệp Màn hình khởi chạy của bạn (xóa các nhãn được tạo tự động). Chế độ xem hình ảnh này phải tham khảo Bộ ảnh .xcassets trước đó . Bạn có thể giới thiệu nó từ thuộc tính Name . Ở giai đoạn này, bạn sẽ thấy chính xác hình ảnh màn hình khởi chạy của bạn trong chế độ xem hình ảnh của bạn.
  • Thêm các ràng buộc cho chế độ xem hình ảnh này để giữ tỷ lệ khung hình tùy thuộc vào độ phân giải màn hình.

Thêm hình ảnh màn hình giật gân vào tập tin Launch Screen của bạn

4. Thêm tệp Màn hình khởi chạy của bạn vào mục tiêu của bạn

Fianlly, trong thuộc tính Target General của bạn, hãy tham khảo tệp Launch Screen. Mục tiêu thuộc tính và màn hình khởi chạy

Bắt đầu ứng dụng của bạn và màn hình giật gân của bạn sẽ được hiển thị. Cũng thử trên iPhone6 ​​& iPhone6 ​​+ và ứng dụng của bạn sẽ được hiển thị chính xác mà không cần nâng cấp (tệp Launch Screen nhằm mục đích thực hiện việc này).


Tôi đã thử cách này, nhưng nó không hoạt động: stackoverflow.com/questions/43168145/ Khăn Có ý tưởng nào tại sao không? Cảm ơn rất nhiều.
Vaddadi Kartick

Tôi chỉ cần tìm ra điều này. Hình ảnh khởi chạy của tôi không hiển thị, tôi nhận được màn hình trắng khi khởi chạy trên thiết bị (iPhone 6, 7+) hoặc testFlight. Khắc phục: Đổi tên "Landing_screen.png" thành "Landing_screen" để xóa phần .png. Biểu tượng hình ảnh trong Xcode đã thay đổi thành biểu tượng màu trắng và trong bảng phân cảnh màn hình khởi chạy, hình ảnh xuất hiện dưới dạng dấu hỏi. Hình ảnh Launch bây giờ xuất hiện và không phải màn hình trắng.
Brian

Tôi có một vấn đề tương tự. Khi sử dụng đồ họa vector (pdf) hình ảnh không hiển thị trong Màn hình Bữa trưa, nhưng nếu tôi sử dụng cùng bảng phân cảnh với Chính (được hiển thị sau Màn hình Bữa trưa), tôi có thể thấy hình ảnh. Vì vậy, tôi đoán là đồ họa vector không được ưa thích như màn hình bữa trưa.
Adi

Tôi quản lý để làm việc này bằng cách khởi động lại trình giả lập. Trước đây tôi đã xóa ứng dụng và dọn dẹp dự án, nhưng hình ảnh giật gân vẫn không hiển thị.
Adi

5

Sau vài giờ thất vọng về điều này, tôi quyết định sử dụng cách này. Nó hoạt động cho cả iPhone và iPad (trên Xcode 6.1)

  1. Tệp >> Tệp mới >> Giao diện người dùng >> Màn hình khởi chạy
  2. Tạo khóa / giá trị mới: "Khởi chạy tên cơ sở tệp giao diện màn hình" / "Tên màn hình khởi chạy của bạn" trong YourApp-Info.plist

1 bức tranh đáng giá hơn ngàn lời nói. Vui lòng xem bên dưới:

Tệp >> Tệp mới >> Giao diện người dùng >> Màn hình khởi chạy

Tạo khóa / giá trị mới "Khởi chạy tên cơ sở tệp giao diện màn hình" / "Tên màn hình khởi chạy của bạn" trong YourApp-Info.plist


4

Tôi đã đọc về một lỗi trong Xcode 6, ngăn các ứng dụng chỉ hiển thị hình ảnh khởi chạy.

Cố gắng đặt hình ảnh và hướng trong Hình ảnh.xcassets:

Ảnh chụp màn hình Xcode của Images.xcassets


1
chính xác những gì bạn đang cố gắng để nói với ảnh chụp màn hình?
NikkyD

2
để kiểm tra định hướng trên thanh tra thuộc tính.
carlodurso

2

Có một lỗi trong đó Xcode 6 khởi chạy hình ảnh được lưu trữ trong các tệp tài sản khiến các ứng dụng chỉ dành cho iphone trên iOS7 / iOS8 hiển thị hình ảnh khởi chạy màu đen. iPad hoạt động tốt.

http://www.raywenderlich.com/forums/viewtopic.php?f=2&t=10868

Giải pháp: Sử dụng Launchscreen.xib mới cho ios8 + trở đi. (nó tốt hơn nhiều)

Để các thiết bị ios7 hoạt động, bạn chỉ cần tắt nguồn hình ảnh khởi chạy và sử dụng tên tệp hình ảnh khởi chạy trường học cũ trong phần chính

iphone5 - Default-568h@2x.png 
iphone4s - Default@2x.png
ipad2 - Default-Landscape~ipad.png
ipad retina - Default-Landscape@2x~ipad.png

Đau đớn nhưng hoạt động. B
nhập mô tả hình ảnh ở đây


2

Tôi đã thử mọi cách nhưng giải pháp cực kỳ đơn giản. Chỉ cần sử dụng tệp .jpg thay vì .png trên LaunchScreen.storyboard của bạn. Có vẻ như iOS không hiển thị tệp .png hoặc kích thước hình ảnh tương đối lớn ở màn hình khởi chạy.


Tôi đã có một png trong màn hình khởi chạy của mình - hiển thị hoàn toàn tốt khi tạo bảng phân cảnh trong Xcode - nhưng sẽ chỉ hiển thị màu đen khi thực sự cố chạy ứng dụng trên thiết bị thực. Sau khi nhổ tóc ra một lúc, tôi thay thế bằng jpg và bây giờ hoạt động tốt. Cảm ơn!
titiea

2

Làm những gì Spectravideo328 đã trả lời và:

Hãy thử UNCHECK hộp iOS 7 trở lên và KIỂM TRA iOS 6 và hộp trước trong danh mục tài sản. Dường như có một lỗi với Hình ảnh khởi chạy iOS 7. (Cả hai đều có cùng một hình ảnh khởi chạy ngoại trừ 320x480)

Hy vọng điều này sẽ giúp, nó đã giúp tôi!


1

Tôi đã thiết lập "LaunchImage" trong danh mục tài sản của mình và chỉ cần xóa trường "Màn hình khởi chạy" et voila! Tôi đã có những hình ảnh khởi động xuất hiện ...


Bạn sẽ có được quy mô kế thừa trong ứng dụng của mình với tùy chọn đó.
George Maisuradze

@GeorgeMays Làm thế nào bạn có thể sử dụng Launch Images mà không có tỷ lệ kế thừa?
Crashalot

1

Một cách là cũng thêm "Màn hình khởi chạy" ( LaunchScreen.xib), dán hình ảnh vào UIImageViewvà sau đó đặt nó thành " Trung tâm ngang trong vùng chứa " và " Trung tâm dọc trong vùng chứa " trong "Căn chỉnh" nếu bạn đang sử dụng Bố cục tự động.

Màn hình: http://i.stack.imgur.com/CfnHT.png

Đừng quên đặt LaunchScreen.xibvào "Khởi chạy tập tin màn hình".


1

Tôi gặp vấn đề tương tự sau khi tôi bắt đầu sử dụng Xcode 6.1 và thay đổi hình ảnh trình khởi chạy của mình. Tôi đã có tất cả các hình ảnh trong một danh mục tài sản. Tôi sẽ chỉ nhận được một màn hình đen thay vì hình ảnh tĩnh dự kiến. Sau khi thử rất nhiều thứ, tôi nhận ra vấn đề là Danh mục tài sản có Dự án 'Thành viên mục tiêu' được đánh dấu trong chế độ xem FileInspector của Dự án. Đưa nó lên ON đã làm nên điều kỳ diệu và hình ảnh bắt đầu xuất hiện trên App launch.


1
  • Đảm bảo hình ảnh của bạn có kích thước chính xác theo hướng dẫn của Apple.
  • Đảm bảo, Bạn sẽ chỉ chọn một tùy chọn, khởi chạy tệp màn hình hoặc Khởi chạy Nguồn hình ảnh. Bạn có thể tìm thấy hai tùy chọn này trong cài đặt Xây dựng dự án -> Chung

Gợi ý của tôi cho bạn là chọn Khởi chạy Nguồn hình ảnh dưới dạng Image.Assets. Tạo tài sản hình ảnh giật gân ở đó trong thư mục Image.assests.

Hình ảnh tham khảo cho cấu hình đúng: nhập mô tả hình ảnh ở đây


0

Tôi đã thử mở một dự án mới và chuyển qua các bước tương tự bạn đã làm để đặt màn hình khởi chạy.

Theo mặc định, .xib được đặt là "Khởi chạy tệp màn hình" và màn hình trắng có nhãn hiển thị trong nửa giây trong trình giả lập.

Sau đó, tôi sẽ khởi chạy "Nguồn hình ảnh" và đặt nó vào Images.xcassets được tạo bằng hình ảnh nền mà tôi đã thêm vào dự án. (tất cả đều tốt cho đến nay)

Chạy lại trình giả lập và hình ảnh khởi chạy không hiển thị ...

Sau khi xóa "Tập tin màn hình khởi chạy" được chỉ định và xóa: Sản phẩm -> Làm sạch, từ menu trên cùng, hình ảnh khởi chạy cuối cùng sẽ hiển thị.

Có lẽ điều đó sẽ giúp?


Terrence - bạn đã thử chạy lại trình giả lập chưa? Lý do tôi hỏi là kỹ thuật này hoạt động lần đầu tiên tôi chạy. Nhưng khi chạy lại trình giả lập, tôi quay lại quảng trường.
Eddie Hartman

Tôi đã không thử lần thứ hai khi tôi nhận xét. Bây giờ tôi thấy vấn đề tương tự.
Terrence Giggy

0

Có một tệp 'LaunchScreen.xib' tự động được thêm vào dự án của bạn Việc xóa này sẽ chuyển xCode sang sử dụng hình ảnh mặc định của bạn trong Images.xcassets

được chỉnh sửa để thêm vào Biểu tượng ứng dụng và Khởi chạy hình ảnh Tệp màn hình khởi động phải trống / emtpy


0

Tôi đã có một lỗi rất lạ. Rõ ràng nguồn hình ảnh khởi chạy của tôi chỉ được đặt cho cấu hình gỡ lỗi và không phát hành. Điều này dẫn đến màn hình khởi chạy của tôi xuất hiện khi chạy cấu hình gỡ lỗi, nhưng khi tôi thay đổi để phát hành, tôi chỉ có một màn hình đen.

Tôi đã sửa lỗi này khi tôi thay đổi cấu hình bản dựng để phát hành nút Khởi động nguồn hình ảnh xuất hiện và tôi phải chọn lại sử dụng Danh mục tài sản.

Đối với những người tò mò, đây là dự án của tôi.pbxproj.

...
...
...
XXXXXXXXXXXXXXXXXXXXXXXX /* Release */ = {
            isa = XCBuildConfiguration;
            buildSettings = {
                ALWAYS_SEARCH_USER_PATHS = NO;
                ASSETCATALOG_COMPILER_APPICON_NAME = AppIcon;
                ASSETCATALOG_COMPILER_LAUNCHIMAGE_NAME = LaunchImage; <---THIS LINE WAS MISSING
...
...
...

0

Vì một số lý do, tôi đã phải thay đổi vị trí danh mục tài sản thành "liên quan đến dự án" để điều này hoạt động.

Tôi cũng đã xóa ứng dụng khỏi điện thoại và cài đặt lại, nhưng có lẽ đó là "liên quan đến dự án" đã làm điều đó.


0

* (Xcode 7.2 / Mục tiêu triển khai 7.0 / Chỉ định hướng cảnh quan) *

Tôi biết là một câu hỏi cũ nhưng với Xcode 7.2 tôi vẫn nhận được tin nhắn và tôi đã sửa nó bằng:

1) Chọn PORTRAIT và cả hai phong cảnh. Thêm "Nguồn hình ảnh khởi chạy" và "Khởi chạy tệp màn hình"

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

2) Trong Hình ảnh khởi chạy của bạn, chọn iPhone "8.0 trở lên" và "7.0 trở lên".

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

3) Thêm mã này trong appDelegate của bạn:

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
{
    return UIInterfaceOrientationMaskLandscape;
}
#else
- (UIInterfaceOrientationMask)application:(UIApplication *)application     supportedInterfaceOrientationsForWindow:(UIWindow *)window
{
    return (UIInterfaceOrientationMaskLandscape);
}
#endif

4) Thêm cái này vào ViewContoder của bạn

#if __IPHONE_OS_VERSION_MAX_ALLOWED < 90000
- (NSUInteger)supportedInterfaceOrientations
#else
- (UIInterfaceOrientationMask)supportedInterfaceOrientations
#endif
{
     return UIInterfaceOrientationMaskLandscape;
}

Tôi hy vọng giúp đỡ cho người khác.


Tôi đã thử một cái gì đó tương tự, nhưng nó không hoạt động: stackoverflow.com/questions/43168145/ Khăn Có ý tưởng nào tại sao không? Cảm ơn rất nhiều.
Vaddadi Kartick

1
Điều này đã trở thành một trong những FU nhỏ khó chịu hơn trong phát triển Xcode. Có rất ít thứ (dường như) được thiết lập, và mỗi dự án tôi tạo ra một con thú nhỏ này chiếm quá nhiều thời gian. Mỗi lần tôi giải quyết nó, có vẻ như ngẫu nhiên và một khi nó hoạt động, tôi CẦU NGUYỆN tôi không vô tình chạm vào tập tin / quy trình đó một lần nữa. Dự án mới, cùng một nhu cầu điên rồ để tìm ra lý do tại sao một đồ họa đơn giản ở giữa màn hình khởi chạy.storyboard không hiển thị. Tất cả các cài đặt là theo yêu cầu, nhưng có lẽ giai đoạn mặt trăng là sai?
đã vẽ ..

0

Điều này được làm việc cho tôi. Nhấp vào LaunchScreen.storyboard sau đó trong bảng bên phải, bạn có thể chọn hộp kiểm "Là trình điều khiển xem ban đầu".

LaunchScreen.storyboard -> Là trình điều khiển xem ban đầu


0

Tôi chỉ cần tìm ra điều này. Hình ảnh khởi chạy của tôi không hiển thị, tôi nhận được màn hình trắng khi khởi chạy trên thiết bị (iPhone 6, 7+) hoặc testFlight. Khắc phục: Đổi tên "Landing_screen.png" thành "Landing_screen" để xóa phần .png. Biểu tượng hình ảnh trong Xcode đã thay đổi thành biểu tượng màu trắng và trong bảng phân cảnh màn hình khởi chạy, hình ảnh xuất hiện dưới dạng dấu hỏi. Hình ảnh Launch bây giờ xuất hiện và không phải màn hình trắng. Cài đặt của tôi: Tôi đang sử dụng Swift 3.1 với Xcode 8.3.1. Trong LaunchScreen.storyboard tôi đã thêm một chế độ xem hình ảnh đơn giản và kéo dài hình ảnh để phù hợp với bộ điều khiển xem. Tôi đặt các ràng buộc bố cục tự động Không gian trên / dưới / hàng đầu / Trailing thành giám sát thành 0.


0

Nếu bạn đã thay đổi hình ảnh khởi chạy của mình từ hình ảnh trước đó và tuân thủ các điều sau:

  • thiết bị / trình giả lập nơi ứng dụng đã được cài đặt trước đó, vẫn hiển thị hình ảnh trước đó và từ chối hiển thị hình ảnh mới (gỡ cài đặt và cài đặt lại ứng dụng không giúp ích)
  • thiết bị / trình giả lập nơi ứng dụng chưa được cài đặt trước đó, hiển thị hình ảnh khởi chạy mới

Có khả năng là do bộ nhớ cache của hình ảnh khởi chạy được thực hiện bởi iOS. Khởi động lại thiết bị sẽ giải quyết vấn đề.


0

Tôi cũng gặp lỗi này với ứng dụng chỉ có phong cảnh của tôi. Sau giải pháp của carlodurso hoạt động:

  1. đánh dấu vào ô "Phong cảnh"
  2. kéo và thả hình ảnh đến nơi.

-2

Đối với tôi, nó hoạt động khi tôi gỡ bỏ LaunchScreen.xibvà thay đổi nó thành một tập tin bảng phân cảnh LaunchScreen.storyboard.

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.