Intenté muchas cosas con esto (este hilo solo parece tener un millón de ideas y la mitad de ellas son conflictivas). El problema para mí fue que cuando hacía cosas como reiniciar el dispositivo y Xcode, causaba que la imagen se mostrara durante algunas sesiones de la aplicación, y luego se detenía (no tengo idea de por qué, pero WOW fue molesto) .
Después de incontables horas, descubrí que la respuesta de AG en este hilo es la correcta. Lo único que estaba haciendo mal era que estaba creando un nuevo conjunto de imágenes dentro de xcassets, pero seguía usando el nombre de la imagen dentro de UIImageView dentro del guión gráfico en lugar de usar el nombre del conjunto de imágenes.
Para aclarar, lo que haría es crear un nuevo conjunto de imágenes y asígnele el nombre "Launch-Defaults", y luego agregarle sus imágenes. Luego, dentro de UIImageView dentro del guión gráfico, usa la imagen "Launch-Default" (sin incluir una extensión ya que no hay ninguna ya que se trata de un conjunto de imágenes).
Cuando haces todo eso, la imagen debería aparecer correctamente dentro de tu guión gráfico. Algunas personas dicen que la imagen se mostrará en blanco si no usa la extensión (.jpg o .png), pero supongo que es porque no están usando el nombre del conjunto de imágenes. Otros dicen que necesita usar una extensión como .png o .jpg, pero la clave es crear el conjunto de imágenes dentro de xcassets y luego usar ese conjunto de imágenes dentro del guión gráfico. Cuando se hace correctamente, no debe haber funkiness como una imagen que no aparece o la pantalla de inicio solo funciona algunas veces (requiere un reinicio).