ios8 - tipos - Error de Xcode 6: "El identificador de paquete del binario incrustado no está prefijado con el identificador del paquete de la aplicación principal".
tipos de archivos de ios (18)
Estoy tratando de construir un proyecto de extensión y Xcode sigue arrojando el error en el tema.
No hace falta que el ID del paquete de la extensión tenga como prefijo el ID del paquete de la aplicación.
Nombre del producto: ro.chitza.TodayPics.$(TARGET_NAME:rfc1034identifier
Intenté limpiar la carpeta de compilación y la reconstrucción, sin suerte. Lo curioso es que todo el proyecto se construyó unas pocas veces, pero después de algunos cambios en el código y la interfaz de usuario, comenzó a fallar. Incluso si creo nuevos proyectos, sucede lo mismo después de aproximadamente 5-6 compilaciones.
¿Alguien más encontró este error? ¿Algún consejo para una solución o solución alternativa?
Asegúrese de que el identificador de paquete de Extensión tenga un prefijo con el identificador del paquete de la aplicación. Si es el mismo y continúa generando un error, vaya al archivo .plist de Extensión y cambie su Identificador de paquete.
Asegúrese de que su:
Dirigir la aplicación A -> Configuraciones compiladas -> Firmar código -> Liberar
es lo mismo con:
Apunte a la aplicación A (extensión) -> Configuración construida -> Firma de código -> Versión
En mi caso, este error ocurrió cuando cambié el identificador del paquete de la aplicación. También tengo la aplicación WatchKit en mi proyecto.
Para solucionar este problema, actualice la extensión WatchKit y el prefijo Id del paquete de la aplicación WatchKit con la nueva identificación del paquete de su aplicación. Comprueba info.plist en ambos objetivos.
También actualice lo siguiente -
Actualice lo siguiente con la nueva identificación del conjunto de aplicaciones Watch. WatchKit Extension> Info.plist - NSExtension-> NSExtensionAttributes-> WKAppBundleIdentifier
Actualice lo siguiente con la nueva identificación de la aplicación. Aplicación WatchKit> Info.plist - WKCompanionAppBundleIdentifier
Después de cambiar todos los valores, no olvide limpiar el producto una vez.
Es probable que haya agregado una carpeta usando "Crear referencias de carpeta" cuando la agrega a su proyecto (como yo hice). La solución de @ Jacob no funcionó para mí :(
Tuve que eliminar la referencia de carpeta que agregué a mi proyecto, luego limpiar y compilar, y eso lo solucionó para mí.
Estaba teniendo los mismos problemas. Al cambiar el CFBundleIdentifier para mi extensión WatchKit por otro que no sea el valor original utilizado cuando agregué por primera vez la extensión WatchKit y el restablecimiento de mi derecho a compartir el grupo de aplicaciones, lo solucioné por mí.
Esto fue útil para mí:
Estuve obteniendo:
Xcode no pudo encontrar ningún perfil de aprovisionamiento de desarrollo de aplicaciones iOS que coincida
Así que cambié el nombre del identificador de paquete, es decir, com.example.something
a com.example.something1
, y luego com.example.something1
la compilación.
Asegúrate de cambiar toda la identificación del paquete dependiente también ... ¡disfrútalo!
Hice cambios como:
ID principal del paquete de aplicaciones: com.myapp.testapp
y
ID del paquete de la aplicación de extensión: com.myapp.testapp.myextension
y sus obras !!!
Intenté la mayoría de las soluciones aquí, pero no me ayudó a solucionar el problema en Xcode 9.4
Esta respuesta SO me ayudó a solucionar el problema.
Lo que hice es simplemente
Desmarcar Gestionar automáticamente la firma para todos los objetivos y el proyecto
En la firma de código, es un desarrollador de iOS para todos los objetivos y el proyecto.
Limpie el proyecto, luego cierre el proyecto y ábralo.
Ahora habilite Administrar automáticamente la firma para el objetivo y elija la cuenta de desarrollador. Entonces contrólalo.
Me solucionó el error. No sé cuándo solucionará Apple este tipo de problemas. Come muchas horas.
Editar: también estoy usando esta respuesta , que mi id del paquete de destino es com.comnombre de la compañía.nombre de proyecto y para la extensión paquete id com.comnombrede la compañía.nombre del proyecto.myextension
Obtuve el mismo error, probablemente agregue una extensión como el widget Hoy, ya que la extensión también es un binario, por lo que tiene su propia lista, y asegúrese de que en el texto de la extensión el ID del paquete tenga como prefijo el ID del paquete de la aplicación. Espero que esto ayude.
Parece que el comportamiento de identificación del paquete cambió cuando llegó WatchOS 2.
Anteriormente tenía un identificador de paquete de extensión como este:
com.mycompany.myappname.watchkitextension
En otro lugar en se mencionó que el identificador del paquete de extensión debería estar en este formato, pero no importaba lo que intentara Xcode me seguía arrojando errores.
La única solución posible es cambiar el identificador del paquete de extensión a:
com.mycompany.myappname.watchkitapp.watchkitextension
Estoy bastante seguro de que este no fue el caso con una aplicación WatchOS 1. Un problema debido a este cambio es que no se puede generar un ID de aplicación para el identificador de paquete com.mycompany.myappname.watchkitextension
. Esto no es necesario, simplemente configure todos los perfiles de aprovisionamiento en la configuración de compilación en automático y no olvide usar el certificado de firma de código correcto para sus esquemas de lanzamiento / ad-hoc / depuración.
De hecho, descubrí que este enfoque funciona porque Xcode sugirió solucionar el problema y esto es lo que hizo.
Podría haber sucedido que duplicó sus objetivos para hacer una aplicación de clonación. Por ejemplo, seleccionó cada uno de sus objetivos y los duplicó. Cuando clonaste tu objetivo de extensión de reloj, su membresía objetivo podría asignarse automáticamente a la aplicación de reloj original.
Para solucionar esto, necesitaría ir a su archivo original "WatchKit extension.appex" en Project Navigator y deseleccionar Target Membership en File Inspector para su nuevo objetivo de clon watch. Debería hacer lo opuesto a su duplicado "Watchkit extension-copy.appex" y asegurarse de que solo haya duplicado el objetivo "ver aplicación de aplicación" seleccionado allí.
Pruebe limpiar antes de la compilación. Esto me solucionó el problema (Xcode 6b2).
Simplemente elimine los perfiles de provisión de aplicaciones de ~ / Library / MobileDevice / Provisioning Profiles, vuelva a cargar Xcode y solucione los problemas cuando Xcode lo solicite (o descárguelos manualmente desde el centro de desarrollo de iOS).
Solucionado este problema para mí.
Simplemente limpio la carpeta derivada y me ayuda en estas situaciones.
Target-> General -> Binarios incrustados eliminan el más viejo y seleccionan el nuevo así fue como resolví este problema
Tuve que cambiar manualmente BundleID en el archivo info.plist de la extensión a lo que necesitaba.
Archivé un radar: rdar: // 17487465
Vaya a cada destino> Configuraciones de compilación> Identificador de paquete de producto> (Cambiar nombre a lo que sea)
esto me ayudó:
La extensión debe tener el ID del paquete del padre como su prefijo.
Por ejemplo, si su aplicación es com.ronnathan.myapp, su extensión tiene que ser com.ronnathan.myapp.today. Cambió el nombre del objetivo de la aplicación, ahora ingrese en el destino de la extensión y cambie el nombre para que coincida.