cocoa - editar metadatos mp3 mac
Presente una aplicaciĆ³n OSX con la aplicaciĆ³n auxiliar en su paquete (4)
Realmente me estoy volviendo loco con este problema! Tengo una aplicación que contiene una aplicación simple de ayuda que administra el elemento de inicio de sesión para la aplicación principal.
Cuando intento enviar la aplicación, obtengo errores relacionados con el perfil de aprovisionamiento y los derechos. Estoy seguro de que el problema está relacionado con la aplicación Helper porque antes de que lo añadiera, el envío funcionó sin problemas.
En este momento, la aplicación de ayuda tiene un código firmado y se encuentra en un espacio aislado como la aplicación principal.
Los errores son:
Perfil de aprovisionamiento no válido. El perfil de aprovisionamiento incluido en el paquete no es válido.
Derechos de firma de código no válidos. Los derechos en la firma del paquete de su aplicación no coinciden con los contenidos en el perfil de aprovisionamiento. El paquete contiene una clave que no está incluida en el perfil de aprovisionamiento ''com.apple.application-identifier'' en ''myapp.app/Contents/Library/LoginItems/helper.app''
Derechos de firma de código no válidos. Los derechos en la firma del paquete de su aplicación no coinciden con los contenidos en el perfil de aprovisionamiento. El paquete contiene una clave que no está incluida en el perfil de aprovisionamiento ''com.apple.application-identifier'' en ''myapp.app/Contents/MacOS/myapp''
Finalmente pude resolver este problema al eliminar el archivo embedded.provisionprofile de la aplicación auxiliar al agregar el siguiente script de ejecución:
if [ -f "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/embedded.provisionprofile" ];
then
rm "${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/embedded.provisionprofile"
echo "Removed embedded provisioning profile."
else
echo "No profile found"
fi
La única solución que parece resolver este problema fue el codeSign y el sandboxing de la aplicación auxiliar de Xcode y luego:
Volver a codificar la aplicación de ayuda del terminal
codesign -f -s "3rd Party mac Developer Application:" -i "com.bundle.YOUR.HELPER" --entitlements path/to/helper/entitlements YEOR-HELPER.app
Elimine el perfil de aprovisionamiento de la aplicación Helper, agregando un "Ejecutar script" en las "Fases de compilación"
rm"${BUILT_PRODUCTS_DIR}/${PRODUCT_NAME}.app/Contents/Library/LoginItems/YOUR-HELPER.app/Contents/embedded.provisionprofile"
Con esta solución hemos enviado correctamente nuestra aplicación.
Para cualquier otra persona que se encuentre con este problema, no tiene que firmar la aplicación de ayuda por segunda vez, simplemente elimine el "embedded.provisionprofile" de la aplicación de ayuda en xarchive y no podrá enviar ningún problema.
Tuve el tercer error cuando accidentalmente incluí algunos archivos .a de terceros en mi objetivo. (Son necesarios para la distribución que no sea de la App Store, pero me había olvidado de excluirlos para la compilación de la App Store). ¡El error no fue muy útil para rastrear esto!