Falta CFBundleIconName en el lanzamiento de la aplicación Xcode9 iOS11

Estoy luchando por lanzar una nueva versión de nuestra aplicación usando Xcode 9 creado con iOS 11 SDK. Archivar y cargar el binario va bien sin ningún problema. La comstackción aparece en iTunes Connect en Actividad como ‘procesamiento’ y desaparece y recibo el siguiente correo electrónico.

Estimado desarrollador,

Hemos descubierto uno o más problemas con su entrega reciente para “”. Para procesar su entrega, se deben corregir los siguientes problemas: Valor Info.plist faltante: falta un valor para la clave Info.plist CFBundleIconName en el paquete ”. Las aplicaciones que proporcionan icons en el catálogo de activos también deben proporcionar esta clave Info.plist. Para obtener más información, consulte http://help.apple.com/xcode/mac/current/#/dev10510b1f7 . Una vez que se hayan corregido estos problemas, puede volver a enviar el binario corregido. Saludos, El equipo de App Store

El enlace proporciona información sobre los paquetes de activos. Intenté configurar una clave CFBundleIconName para el nombre del proyecto o un nombre de archivo de imagen y volví a enviar la aplicación. Sin embargo, sigo recibiendo el mismo correo electrónico que el anterior.

Cualquier sugerencia de ayuda sería muy apreciada.

Luché con esto todo el día y en la noche probando cada permutación en la que podía pensar y finalmente encontré esta solución, con suerte, esto evitará que alguien pase por esta pesadilla.

Mi aplicación no estaba usando un catálogo de xcassets, así que agregué una al proyecto cuando trataba de resolver este problema usando File – New – File … y eligiendo un catálogo de activos de los tipos de archivos – Lo llamé Assets.xcassets y lo eligió en el proyecto xcode. A continuación, hizo clic derecho en el área de la derecha y eligió agregar Iconos de aplicaciones e iniciar imágenes, luego Icono de la nueva aplicación de iOS y luego arrastré mi imagen de 1024×1024 al espacio de iOS 1024pt de la tienda de aplicaciones, que podría haber funcionado. pero aún recibí correos electrónicos rechazados después de archivarlos y enviarlos a la tienda.

Falta el valor de Info.plist: Falta un valor para la clave Info.plist CFBundleIconName en el paquete. bla bla bla…

También agregué la clave de Info.plist para “Nombre de icono” que también es conocido por CFBundleIconName y lo configuré en un nombre de archivo de cadena que coincidía con mi imagen de 1024×1024 en el proyecto. Pero nada de eso funcionó, aunque al revisar los contenidos de IPA se mostró todo correctamente.

finalmente borré el AppIcon de mi catálogo llamado Assets.xcassets para que estuviera vacío e hice lo siguiente para solucionar el problema:

Vaya a la configuración principal de la aplicación haciendo clic en el nombre de la aplicación y luego seleccione la pestaña GENERAL, luego en Iconos de la aplicación y la sección Lanzar imágenes, haga clic en el botón junto a la fuente de los icons de la aplicación y elija usar un catálogo de activos; seleccione el nombre de su catálogo de activos. el mío se llamaba Assets.xcassets y decía convertir (migrar) la aplicación con el botón en esa ventana emergente; también marcaba la casilla para convertir imágenes de lanzamiento; cuando terminaba el ícono de los íconos de la aplicación y el origen de las imágenes de lanzamiento iban a tener nombres en la lista desplegable.

vaya al catálogo de activos haciendo clic en él – otra vez el mío fue Assets.xcassets y luego haga clic en la sección de AppIcon y arrastre su imagen de 1024×1024 en la App Store iOS 1024pt bien / ranura. archive su aplicación por última vez y envíela a la tienda de aplicaciones; en ese momento, con suerte no recibirá más correos del infierno ya que comencé a llamarlos sobre el rechazo de su aplicación y puede regresar a iTunesConnect para enviar su aplicación.

Buena suerte. Siento empatía por el dolor que puedes sentir con este error en gran parte críptico cuando has probado muchas soluciones razonables que no funcionaron. Tal es la vida de un ingeniero de software a veces …;)

si fuera fácil, todos lo harían, ¿verdad? 😉

Me di cuenta de que, dado que las versiones de Xcode 9 iOS 11 requieren iTunes Connect, el icono de la aplicación se incluye con el binario que podría haberse agregado a iTunes Connect directamente en las versiones anteriores de Xcode (XCode 8.3.3 ane anterior).

Si distribuye su aplicación a través de la App Store, agregue el icono App Store a un catálogo de activos ubicado en el proyecto Xcode. La ubicación del icono es diferente según la plataforma.

Para las aplicaciones iOS y watchOS creadas con Xcode 8.3.3 y versiones anteriores, agregue el ícono App Store en iTunes Connect. Para las aplicaciones macOS y tvOS, agregue el ícono App Store al proyecto Xcode, pero la ubicación en el catálogo de activos es diferente a las aplicaciones creadas con Xcode 9 y posterior.

El ícono de App Store requerido debe colocarse en un catálogo de activos ubicado en el paquete de la aplicación.

Agregar el icono del App Store

Por lo tanto, el CFBundleIconName debe establecerse ahora en AppIcon (valor predeterminado) o cualquier valor que establezca.

Agregar solo esa imagen no superará el proceso de carga del archivo de iTunes, por lo que debemos agregar todas las imágenes de los icons de la aplicación de los siguientes tamaños:

  • 20pt 1x, 2x, 3x
  • 29pt 1x, 2x, 3x
  • 40pt 1x, 2x, 3x
  • 60 pt 1x, 2x, 3x
  • 76pt 1x, 2x
  • 85.5pt 2x
  • 1024pt 1x

Por lo tanto, ahora es el momento de utilizar el catálogo de activos para especificar icons de aplicaciones.

La solución más sencilla es agregar la clave CFBundleIconName en plist y completar todas las secciones de AppIcon en el catálogo de activos.

Info.plist:

 CFBundleIconName AppIcon 

enter image description here

enter image description here

Descargue los activos de las aplicaciones de trabajo aquí

Las aplicaciones creadas con iOS 11 o posterior SDK deben suministrar icons de aplicaciones en un catálogo de activos y también deben proporcionar un valor para esta clave Info.plist

Para proyectos anteriores sin catálogo de activos habrá problemas al enviar a Appstore

En Proyecto -> Propiedades de destino – ficha General -> Íconos de aplicación e iniciar imagen. Iconos de la aplicación -> Seleccionar Usar catálogo de activos Luego pedirá convertir (migrar) con una alerta y creará un archivo .xcassets. Marca la casilla para convertir imágenes de lanzamiento también.
Cuando haya terminado, la fuente de los icons de la aplicación y la fuente de lanzamiento de imágenes tendrán nombres en la lista desplegable. Agregue los íconos de la aplicación y otros icons a él

Recibía el mismo correo electrónico cada vez que enviaba un archivo binario para una nueva versión de una de mis aplicaciones. Probé todos los remedios enumerados aquí, pero nada funcionó. Luego hice un cambio más que funcionó.

En el objective. . . Configuraciones de comstackción . . Catálogo de activos Comstackdor: sección Opciones , asegúrese de que el nombre del catálogo de activos que contiene los icons se muestre en el icono de la aplicación del catálogo de elementos de activos . Por algún motivo, mi nombre de conjunto de icons de la aplicación de catálogo de activos estaba en blanco.

Ahora en iOS 11, necesitamos agregar un nuevo ícono en nuestro proyecto de tamaño 1024×1024.

Asegúrese de que los archivos de icons se eliminen de la carpeta de recursos en el paquete de códigos fuente y también se borre la clave de archivos de icons en info.plist. También agregue la clave CFBundleIconName en plist como se muestra a continuación

Info.plist:

 CFBundleIconName AppIcon 

También en la sección Proyecto – Objetivo -> Configuraciones de comstackción -> Comstackdor de catálogos de activos -, asegúrese de que el nombre del catálogo de activos que contiene los icons se muestre en el icono de conjunto de icons de la aplicación de catálogo de activos.

Tengo el mismo problema y lo solucioné de la siguiente manera.

Aquí está la guía paso a paso.

Paso 1:

Crea un ícono con 1024 * 1024.png

Paso 2:

Suba este png al sitio web https://www.appicon.build/ y arrastre y suelte en la pantalla.

enter image description here

Paso 3:

Le pedirá que ingrese su dirección de correo electrónico. Introdúzcalo y luego de unos segundos obtendrá todos los tamaños de imagen necesarios en su buzón de correo. Descargue esa carpeta comprimida y descomprímala.

Etapa 4:

Regrese a su proyecto en Xcode y agregue esta carpeta descomprimida (llamada AppIcon.appconset) en la carpeta de recursos en su proyecto xcode.

enter image description here

Paso 5:

Haga doble clic en la carpeta Asset.xcassets y arrastre y suelte las imágenes requeridas en el marcador de posición de la imagen para obtener imágenes 2x y 3x de las imágenes generadas.

enter image description here

¡Tú eres bueno para irte!…

Yo también he encontrado el “valor de Info.plist faltante: un valor para el error de la clave Info.plist CFBundleIconName falta en el paquete …” y quería dejar una respuesta concisa para ayudar a la siguiente persona.

La aplicación no estaba usando un catálogo de activos. Aunque eso no es lo que dice este error, eso es lo que se requiere para resolver este problema, pero la forma de agregar los valores es importante. No es suficiente agregar manualmente esta clave / valor faltante a .plist; Hay algo mas que eso. También necesita eliminar el valor de CFBundleIcons de su .plist. Esto se puede hacer de forma manual, pero recomiendo usar la interfaz XCode para editar esto a través de las Propiedades del proyecto: Iconos de la aplicación general e Imagen de inicio. Así es como hice que los míos trabajaran.

A continuación se muestra una captura de pantalla de los cambios realizados a mi .plist.

Actualizado .PList

Iconos de aplicaciones e imágenes de inicio

Agregue un nuevo catálogo de activos a su proyecto si aún no tiene uno.
Haga clic en el nombre de la aplicación en la parte superior de su ventana de Navigator
Seleccione la pestaña GENERAL
Desplácese hasta la sección “Iconos de la aplicación e iniciar imágenes”
Haga clic en el botón “usar un catálogo de activos”
NOTA: Yo había creado mi propio catálogo de activos y el conjunto de imágenes de íconos de la aplicación iOS, pero el enlace al existente no me funcionaba, ya que creaba un nuevo conjunto de imágenes que tenía valores vacíos \ imágenes. Tuve que eliminarlos a todos y dejar que este proceso los creara para mí. Si acaba de agregar un catálogo de activos para resolver este problema, deje que este proceso lo cree para usted, no agregue manualmente el conjunto de imágenes.

Haga clic para convertir \ migrar la aplicación
Después de hacer clic en el botón, nada se actualizó automáticamente para mí. Navegué y luego volví a la pantalla de configuración y ahora los valores estaban asignados en la lista desplegable.

Ahora abre tu nuevo catálogo de activos haciendo clic en él
Haga clic en la sección “AppIcon” y arrastre sus imágenes requeridas a las ubicaciones apropiadas.

Necesitará la imagen de 1024×1024 para el ícono de la App Store iOS 1024pt y cualquier otro ícono requerido por la aplicación iPhone \ iPad \ Universal. La imagen de 1024x1024px también se conoce como el ícono de marketing. No puedes enviar tu aplicación sin ella.

Ahora debería poder archivar su aplicación y enviarla a la tienda de aplicaciones.

Cada desarrollador de aplicaciones usa el famoso “Icon Dog”

(¡Es una pena que hayan cambiado el nombre!)

enter image description here

https://itunes.apple.com/us/app/app-icon-set-creator/id1052532083?mt=12

Es, con mucho, la aplicación más popular utilizada por los desarrolladores de iOS, una especie de culto.

Inmediatamente resuelve todos los problemas.

Finalmente he encontrado una solución limpia a este problema que no requiere agregar claves a info.plist como CFBundleIconName. Lo hice al actualizar una aplicación antigua en la tienda de aplicaciones para comstackrla en SDK 11.2 (y créanme que hubo una gran cantidad de frustración involucrada). Estoy usando Xamarin en Visual Studio en una PC, pero esta solución debería funcionar en cualquier otro IDE o framework, por ejemplo, XCode. La esencia de la solución es que el archivo info.plist y la carpeta de Recursos ya no necesitan jugar ningún papel en lo que respecta a icons de aplicaciones e imágenes de lanzamiento. De hecho, puede eliminar la clave CFBundleIconFiles del archivo info.plist y no hará ninguna diferencia en su proyecto.

Estos son los pasos que debe seguir:

  1. Haga una copia de los icons de su aplicación e inicie imágenes y guárdelas en una ubicación diferente.
  2. Para un comienzo limpio, elimine las referencias a los íconos de la aplicación e inicie imágenes desde info.plist, lo que significa que borrará los valores en la clave CFBundleIconFiles.
  3. Borre icons de la aplicación e inicie imágenes desde la carpeta de Recursos.
  4. Utilice la opción Eliminar para eliminar cualquier ‘Activo’ o ‘Medios’ que haya declarado en ‘Catálogos de Activos’.
  5. Una carpeta con el nombre de Assets.xcassets o Media.xcassets (o carpetas de .xcassets con el mismo nombre) aún podría estar presente en su proyecto. Estarían fuera o dentro de la carpeta de Recursos. Eliminar todas las carpetas .xcassets.
  6. Ahora abra su archivo de proyecto en un editor como el bloc de notas (es decir, .csproj en Visual Studio) y vea si hay alguna referencia que apunte a los archivos en la carpeta .xcassets. Eliminar todas esas referencias. También verifique que no haya referencias que apunten a icons de la aplicación o inicie imágenes en la carpeta de Recursos en este archivo y elimínelos también.
  7. Verifique que las claves XSAppIconAssets y XSLaunchImageAssets ya no estén presentes en info.plist. Eliminarlos si todavía están presentes.
  8. En este punto, ha eliminado cualquier archivo o referencia anterior a los íconos de su aplicación y ha lanzado imágenes de su proyecto. Si aún están presentes, retroceda y elimínelos. Ahora, para comenzar de nuevo, cree un nuevo ‘Asset’ o ‘Media’ en ‘Asset Catalogs’, que crea una carpeta .xcassets en su proyecto. Copie los íconos de su aplicación (e inicie imágenes si es necesario) desde el paso 1 en las carpetas respectivas debajo de su nueva carpeta .xcassets. Asegúrese de que todas las imágenes requeridas estén incluidas.
  9. Asegúrese de que info.plist ahora contenga los valores de clave XSAppIconAssets (y XSLaunchImageAssets si es necesario) para el nuevo ‘Asset’ que ha creado. Su archivo de proyecto (que es .csproj en Visual Studio) ahora debería contener referencias a cada imagen que agregó a su nuevo ‘Asset’. No hay necesidad de imágenes adicionales a las requeridas por el proyecto. Sugeriría borrar cualquier imagen adicional de tus activos.
  10. Si agregó una clave llamada CFBundleIconName como se menciona en otras soluciones, elimine esta clave de info.plist. No es requerido. Ahora está listo para enviar su aplicación a la tienda.

No es necesario editar info.plist. Los errores relacionados con los icons se resolverían rellenando todos los marcadores de posición de imágenes para AppIcon en images.xcassets .

Para cualquiera que las respuestas anteriores no ayudaron (pasó un buen rato golpeando la cabeza contra esta):

Asegúrese de verificar la membresía objective de su directorio de activos. Si no vincula correctamente la membresía aquí, obtendrá este mismo error súper genérico (Apple debería hacer algo con respecto a los mensajes de error).

enter image description here

La membresía objective debe correlacionarse directamente con los objectives para los que está usando los íconos. Por ejemplo, utilizo este único directorio para mi aplicación principal y para ver los recursos de la aplicación, debe especificarlo seleccionando el miembro apropiado.

No es necesario editar el plist en absoluto, la mayoría de estas respuestas son engañosas.

Espero que esto ayude a alguien que golpea esto!

En mi situación; después de haber hecho todo esto en esta página, no olvide archivar su proyecto nuevamente 🙂

Hubo un problema con Visual Studio 17 (v-15.2) cuando actualiza la versión> 15.2 verá un marcador de posición de App-Icon-1024×1024 en AssetCatalog> Medios> AppIcons.

enter image description here

Sigue los pasos a continuación.

  1. En su proyecto, agregue un nuevo archivo >> Activo Catlog.
  2. Ir a Haz clic en tu proyecto en XCODE >> General >> Iconos de la aplicación. Ver captura de pantalla . Esto creará las especificaciones de AppICon y LaunchImage automáticamente dentro de su Asset luego de que puede arrastrar y soltar su ícono de Appstore y otros icons en él.

  3. También agregue
    CFBundleIconName
    AppIcon
    CFBundleIconName
    AppIcon
    .

Esta entrada en tu archivo plist.

Suba sus binarios a Itunes.

Para Xcode 9.2 para iOS 11, se deben aclarar algunos puntos.

1- Este error debe ser de no tener activos de icono en un Catálogo de activos.

(Obtuve este error enviando una aplicación sin catálogos de activos).

2- Este error se resuelve agregando un catálogo de activos con los íconos requeridos.

(En mi caso, era una aplicación solo para iPhone, y agregué algunas imágenes de marcador de posición que eran 120x y 180x).

3- Este error no está relacionado con el “Icono de la App Store” de 1024×1024

(Cuando olvide el ícono de la tienda más grande, se mostrará un error específico por separado, no este error).

4- Contrariamente a la documentación de Apple, incluso con (Xcode 9 + escrito para iOS 11), también puede usar el sitio web para enviar el ícono de la App Store.

(El error específico separado mencionado anteriormente se desencadena por la falta de un ícono, no por la ausencia del ícono en la comstackción enviada).

5- faltante CFBundleIconName en Info.plist no se modificó.

También tuve muchos problemas en este asunto: constantemente recibía el error con la falta de CFBundleIconName y mis icons no se encontraban. Así que aquí está mi historia, tal vez será de ayuda para alguien. Por cierto, estoy usando Visual Studio con Xamarin.

  1. Agregue un catálogo de activos a su proyecto con AppIcons (el nombre real del activo no es importante, solo que es para los icons de la aplicación). Agregue todos los tamaños de icono necesarios. Para el ícono de la ‘Tienda de aplicaciones’, he agregado un ícono sin una @ en el nombre como alguien sugirió en los foros, pero no estoy seguro si es 100% necesario. Para generar los diferentes tamaños de icons hay muchos sitios web y herramientas que pueden hacer eso por usted y solo necesita proporcionar el de 1024×1024. Ellos generarán el rest.

  2. En Info.plist en ‘Activos visuales’ y luego ‘Iconos de la aplicación’, configure la fuente para el activo que acaba de crear.

  3. Ahora mira tu Info.plist. No lo abra con un Editor externo , ya que todos sus cambios se sobrescribirán una vez que construya su proyecto. Haga lo siguiente: haga clic con el botón derecho del mouse en Info.plist en el Explorador de soluciones y luego seleccione Abrir con -> Editor genérico PList.

  4. Verifique que tenga las siguientes entradas:

    -Property = CFBundleIconName, Type = String. Valor = Assets.xcassets / AppIcons.appiconset -Property = XSAppIconAssets, Type = String. Valor = Assets.xcassets / AppIcons.appiconset

  5. Tenga en cuenta que Visual Studio agrega automáticamente, cuando agrega algo en total, ‘Resources / Assets.xcassets / AppIcons.appiconset’ como el valor. Pero en mi caso, el Catálogo de Activos se creó fuera de la carpeta de Recursos y, por lo tanto, mis íconos no se encontraron. Por lo tanto, compruebe dónde se creó su carpeta de activos.

  6. CFBundleIconFiles no era necesario, porque ahora Apple usa el catálogo de activos.

Espero haber sido de alguna ayuda 🙂

Utilicé la respuesta de @Omair y es perfecta, sin embargo, recibí errores de que no se encontraron varios íconos. El problema fue un error con VS2017 al crear un catálogo de activos. Al agregar un nuevo catálogo de activos, la carpeta del catálogo se crea debajo de la raíz del proyecto, no debajo de / resources. Sin embargo, la entrada en info.plist tiene la ruta como under / resources. Una vez que eliminé / recursos de la ruta a mi catálogo de activos todo funcionó bien. ¡Espero que esto ayude a alguien!