Tôi có một ứng dụng hỗ trợ iOS8 trở lên, được xây dựng trong Xcode 7 và tôi đang sử dụng XIB cho Màn hình khởi chạy (Tôi không có hình ảnh khởi chạy). Chế độ xem chứa một UILabel duy nhất với phiên bản ứng dụng và 2 UIImageView với hình ảnh đều có trong Images.xcassets: Logo và hình ảnh giật gân.
UILabel và hình ảnh logo xuất hiện chính xác khi tôi khởi chạy ứng dụng, nhưng hình ảnh giật gân không có nếu tôi chạy ứng dụng trên iPad Air 2 với iOS9. Tôi đã thử nghiệm trên máy giả lập Air và Mini chạy iOS8 và iOS9 cho iPad 2, iPad Air và iPad Air 2 và hình ảnh xuất hiện chính xác trong tất cả những thứ đó.
Tôi đã chạy một số xử lý sự cố cơ bản để xem liệu tôi có thể biết được chuyện gì đang xảy ra không nhưng tôi không thể giải quyết nó và sự khác biệt duy nhất tôi có thể thấy giữa hình ảnh đang hoạt động và hình ảnh không thành công là khi tôi thêm nó vào tài sản...
Đây là danh sách những gì tôi biết:
UIImageView cho hình ảnh giật gân nằm ở vị trí chính xác, ở kích thước chính xác. Tôi có thể nói điều này bởi vì tôi đặt màu nền của nó thành màu xanh chỉ để đảm bảo. Chế độ xem ở đó, nhưng hình ảnh không xuất hiện. Vì vậy, tôi cho rằng quan điểm này không đáng trách.
Đặt UIImageView cho hình ảnh giật gân cũng sử dụng hình ảnh logo làm cho hình ảnh logo xuất hiện ở vị trí chính xác cho chế độ xem. Điều này cũng dẫn đến tôi cho rằng quan điểm này không đáng trách.
UIImage mà tôi đang sử dụng trong chế độ xem hình ảnh giật gân được sử dụng ở nơi khác trong ứng dụng và xuất hiện tốt trong các chế độ xem khác (hình ảnh logo cũng được sử dụng ở nơi khác trong ứng dụng và xuất hiện tốt). Vì vậy, tôi cho rằng hình ảnh là hợp lệ và việc nó xuất hiện trong các chế độ xem khác không phải là vấn đề.
Tôi đã xác nhận rằng các cài đặt của UIImages cho logo và giật gân trong tệp xcassets là như nhau. Chúng được đặt thành Phổ quát, Bất kỳ chiều rộng và chiều cao, nhiều yếu tố tỷ lệ, được hiển thị làm mặc định. Có một điểm khác biệt - logo có tỷ lệ 1x, 2x và 3x trong khi hình ảnh giật gân chỉ có 1x và 2x, nhưng tôi cũng đã thử sử dụng UIImages chỉ với các giá trị 1x, và 1x và 2x trong UIView và chúng hoạt động (nếu chúng là thêm vào dự án một thời gian trước).
Thêm một hình ảnh khác có kích thước hoặc định dạng khác (PNG và JPG) vào xcassets của tôi và sử dụng UIImage đó trong UIImageView cho hình ảnh giật gân cũng không hiển thị.
Thêm một UIImageView khác vào tệp XIB và cấp cho nó một UIImage đã có trong xcassets hoạt động, hình ảnh xuất hiện trong màn hình tải.
Sao chép và đổi tên các tệp hình ảnh được sử dụng cho logo và thêm chúng vào dự án sau đó sử dụng UIImage đó trong chế độ xem giật gân cũng không hiển thị.
Tôi đã thử làm sạch dự án, khởi động lại máy phát triển và xóa ứng dụng khỏi Air 2 và cài đặt lại chỉ trong trường hợp có vấn đề.
Ba bước cuối cùng này khiến tôi tin rằng có một số vấn đề với hình ảnh được thêm vào sau một thời điểm nhất định trong vòng đời của tệp dự án. Trong khi tôi cập nhật lên Xcode 7 ngày hôm qua, hình ảnh giật gân ban đầu được thêm vào Xcode 6, nhưng hình ảnh logo (cũng được thêm vào Xcode 6) đã được thêm vào vài tháng trước.
Tôi đã xem qua các tập tin json cho hình ảnh logo và hình ảnh giật gân và chúng dường như có cùng định dạng. Tôi cũng đã duyệt qua tệp pbxproj để tìm sự khác biệt và tôi không thể thấy bất kỳ.
Vì vậy, tôi đã tự hỏi liệu có ai có ý tưởng tại sao màn hình khởi chạy có thể không hiển thị những hình ảnh mới này mà tôi đang thêm vào Air 2 không? Các câu hỏi khác mà tôi đã đọc qua liên quan đến hình ảnh dường như không liên quan đến Launch Launch hoặc hình ảnh trong các tệp XIB có các lớp liên quan, dường như không liên quan ở đây.