Xcode 7에 내장 된 iOS8 이상을 지원하는 앱이 있으며 시작 화면에 XIB를 사용하고 있습니다 (시작 이미지가 없습니다). 이보기에는 앱 버전의 단일 UILabel과 Images.xcassets에있는 이미지가있는 2 개의 UIImageView : 로고 및 스플래시 이미지가 포함됩니다.
응용 프로그램을 시작할 때 UILabel과 로고 이미지가 올바르게 나타나지만 iOS9가 설치된 iPad Air 2에서 앱을 실행하면 스플래시 이미지가 나타나지 않습니다. iOS8을 실행하는 Air 및 Mini와 iPad 2, iPad Air 및 iPad Air 2 용 iOS9 시뮬레이터에서 테스트했으며 이미지가 모두 올바르게 표시됩니다.
나는에 무슨 일이 일어나고 있는지 알아낼 수 있는지 확인하기 위해 몇 가지 기본적인 문제 해결을 실행하지만 난 그게 내가 일하고 이미지와 실패한 것 하나 사이에 볼 수있는 유일한 차이는 해결할 수 없었던 때 나는에 추가 자산...
내가 아는 것에 대한 요약은 다음과 같습니다.
스플래시 이미지의 UIImageView가 올바른 위치에 올바른 크기입니다. 확인하기 위해 배경색을 녹색으로 설정했기 때문에 이것을 알 수 있습니다. 보기가 있지만 이미지가 나타나지 않습니다. 그래서 나는 그 견해가 비난되지 않는다고 가정합니다.
로고 이미지도 사용하도록 스플래시 이미지의 UIImageView를 설정하면 로고 이미지가보기에 올바른 위치에 나타납니다. 이것은 또한 견해가 비난되지 않는다고 가정하게합니다.
스플래시 이미지보기에서 사용중인 UIImage는 앱의 다른 곳에서 사용되며 다른보기에서는 잘 나타납니다 (로고 이미지는 앱의 다른 곳에서도 사용되며 잘 나타납니다). 따라서 이미지가 유효하고 다른보기에 이미지를 표시하는 것은 문제가되지 않는다고 가정합니다.
xcassets 파일의 로고 및 스플래시에 대한 UIImage 설정이 동일하다는 것을 확인했습니다. 이 값은 Universal, Any width and height, multiple scale factor로 설정되며 기본값으로 렌더링됩니다. 한 가지 차이점이 있습니다-로고에는 1x, 2x 및 3x 배율이 있고 스플래시 이미지에는 1x 및 2x 만 있지만 UIView에서는 1x 및 1x 및 2x 값만으로 UIImage를 사용해 보았습니다. 얼마 전에 프로젝트에 추가).
다른 크기 또는 형식 (PNG 및 JPG)의 다른 이미지를 xcassets에 추가하고 스플래시 이미지에 대해 UIImageView에서 해당 UIImage를 사용하면 표시되지 않습니다.
XIB 파일에 다른 UIImageView를 추가하고 이미 xcassets에 있던 UIImage를 할당하면 이미지가 로딩 화면에 나타납니다.
로고에 사용 된 이미지 파일을 복사하고 이름을 바꾸고 프로젝트에 추가 한 다음 스플래시보기에서 해당 UIImage를 사용하면 표시되지 않습니다.
프로젝트를 청소하고 개발 컴퓨터를 다시 시작한 다음 Air 2에서 앱을 삭제하고 문제가 발생한 경우 다시 설치하려고했습니다.
이 마지막 세 단계는 프로젝트 파일의 수명에서 특정 시점 이후에 이미지가 추가되는 데 문제가 있다고 생각합니다. 어제 Xcode 7로 업데이트하는 동안 스플래시 이미지는 원래 Xcode 6에 추가되었지만 로고 이미지 (Xcode 6에도 추가)는 몇 달 전에 추가되었습니다.
로고 이미지와 스플래시 이미지의 json 파일을 살펴본 결과 동일한 형식으로 보입니다. 나는 또한 차이점을 찾기 위해 pbxproj 파일을 트롤링했는데 아무것도 볼 수 없습니다.
왜 누군가가 왜 Air 2에 추가하고있는 새로운 이미지가 시작 화면에 표시되지 않을지 궁금해하고 있습니까? 모두 표시되지 않는 이미지와 관련하여 읽은 다른 질문은 Launch Images 또는 관련 클래스가있는 XIB 파일의 이미지와 관련이있는 것 같습니다.