descargar - ios 12 beta
La implementaciĆ³n de la aplicaciĆ³n empresarial no se instala en iOS 8.1.3 (8)
Después de investigar ...
Editar: después de más pruebas, descubrí que simplemente haciendo coincidir el ID del paquete en el Info.plist
y el ID del paquete en el manifest.plist
funcionó para instalar aplicaciones por aire en iOS 8.1.3. Si esta solución no funciona, pruebe la solución a continuación.
Solución Original
Solucionado el problema:
Su aplicación debe tener un entitlements.plist
válido entitlements.plist
, que incluye corregir el identificador de paquete válido de una aplicación.
Si está distribuyendo una aplicación firmada con un certificado de desarrollo de iOS, aquí hay un ejemplo de una propiedad que debe incluir con su aplicación.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>com.yourbundleidhere.mycoolapp</string>
<key>com.apple.developer.team-identifier</key>
<string>com.yourbundleidhere.mycoolapp</string>
<key>get-task-allow</key>
<true/>
<key>keychain-access-groups</key>
<array>
<string>com.yourbundleidhere.mycoolapp</string>
</array>
</dict>
</plist>
Si está utilizando un perfil de comodín, reemplace com.yourbundleidhere.mycoolapp
con su yourwildcardappid.*
com.yourbundleidhere.mycoolapp
yourwildcardappid.*
. En ambos casos, puede usar iResign para renunciar correctamente a las aplicaciones e incluir el derecho requerido, entitlements.plist.
Explicación del problema
Debido a los parches de seguridad (ver here en CVE-2014-4493), sin los derechos, la aplicación no se instalará. El parche de seguridad evita que las aplicaciones anulen las aplicaciones existentes e instalen sobre ellas / las reemplacen.
Después de actualizar iOS 8.1.3, traté de descargar, pero aparece el mensaje de error " No se puede descargar la aplicación " y " No se puede instalar en este momento ".
¿Cuáles son los cambios entre 8.1.2 y 8.1.3 que debo tener en cuenta?
Modo de descarga:
<a href = "itms-services: //? action = download-manifest & url = https: //****.plist">
¡Gracias!
Además de las respuestas de @Marks y @ RaStudio, he visto otras dos causas para el mensaje "No se puede descargar la aplicación"; uno de los cuales es nuevo para iOS 8.1.3.
Nueva causa de falla en iOS 8.1.3
Este error se produce al intentar instalar una aplicación que tiene un perfil de aprovisionamiento caducado. Al firmar una aplicación, tanto el certificado como el perfil de aprovisionamiento deben ser válidos y no caducados. Parece que, en algunas circunstancias, una aplicación con un perfil de aprovisionamiento caducado y un certificado no caducado puede instalarse en iOS 8.1.2. Asegúrese de que el perfil provisorio no caduque yendo al centro de desarrolladores de Apple .
Antigua causa de falla
Este error se produce al intentar descargar una aplicación firmada con un certificado de desarrollo y un perfil de aprovisionamiento si el dispositivo no se ha agregado al perfil provisting de desarrollo en el centro de desarrolladores de Apple .
Después de algunas horas atormentar las células cerebrales, así es como lo hice:
NOTA: actualmente no he probado esto contra iOS 8.1.2 o inferior (¡proceda con precaución!)
Para las aplicaciones que YA ya se han firmado con su PROPIO certificado empresarial , todo lo que tiene que hacer (como lo menciona RAStudios en su edición) es editar el manifest.plist:
Antes de:
<key>bundle-identifier</key>
<string>uk.co.acme.AcmeApp</string>
Después:
<key>bundle-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
Para las aplicaciones que han sido firmadas por un tercero que está renunciando a su certificado empresarial (este tutorial supone que el archivo ipa es AcmeApp.ipa, su archivo de derechos es entitlements.plist y su perfil de provisión es provProvile.mobileprovision; todos los archivos están en la carpeta Escritorio (Mac OSX), y S836XXACME es su identificador de equipo):
Crea un nuevo archivo entitlements.plist:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
<key>get-task-allow</key>
<false/>
</dict>
</plist>
Descomprimir el ipa:
cd ~/Desktop
unzip AcmeApp.ipa
Eliminar la firma del código:
rm -r Payload/AcmeApp.app/_CodeSignature/
Copie en el archivo de la provisión móvil:
cp provProfile.mobileprovision Payload/AcmeApp.app/embedded.mobileprovision
Codesign:
codesign -f -s "iPhone Distribution: ACME Corporation Limited" --entitlements entitlements.plist Payload/AcmeApp.app
Zip it up como el ipa resignado:
zip -qr AcmeApp_resigned.ipa Payload/
También necesita modificar el archivo manifest.plist según la parte ''YA'' firmada anteriormente:
<key>bundle-identifier</key>
<string>S836XXACME.uk.co.acme.AcmeApp</string>
He hecho bastantes experimentos con esto. En mi experiencia, el identificador del paquete en el archivo manifest.plist no es realmente tan crítico. Lo más importante es hacer que los derechos sean correctos.
En lugar de crear esto manualmente, recomendaría generarlo desde el perfil de suministro utilizando la siguiente secuencia de comandos ( credit ):
# Create an entitlements file
# parse provision profile
security cms -D -i "provProfile.mobileprovision" > ProvisionProfile.plist 2>&1
# generate entitilements.plist
/usr/libexec/PlistBuddy -x -c "Print Entitlements" ProvisionProfile.plist > Entitlements.plist 2>&1
A continuación, puede usar este archivo de derechos con la opción --entitlements en la utilidad codesign.
He respondido esto here , esto funcionó para mí sin tener que hacer nada más
He resuelto este problema.
- Como Apple ha cambiado los perfiles de aprovisionamiento, RENOVAR los perfiles de aprovisionamiento (Archivo 1) y copiarlos en la "Carga útil /".
- Asegúrese de que haya un Entitlements.plist (Archivo 2) en "Payload /", y este archivo plist DEBE ser TEXT PLAIN creado por un editor de texto.
- Asegúrese de que hay un Info.plist (Archivo 3) en "Carga útil /", y esto es creado por XCode;
- Copie Entitlements.plist (Archivo 4) en cualquier otro lugar excepto en "Payload /".
- Asegúrese de que "Identificador de paquete" en el Archivo 1-4 sea el mismo.
- Utilice este Entitlements.plist (Archivo 4) para volver a firmar el archivo IPA.
Puedes renunciar de esta manera
codesign -fs "iPhone Distribution: Your Company Name" --entitlements=/Users/SenTR/Downloads/codesign/Entitlements.plist /Users/SenTR/Downloads/codesign/Payload/Your_Project_name.app
Muestra de Entitlements.plist
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>application-identifier</key>
<string>PREFIX.yourappBundleID</string>
<key>aps-environment</key>
<string>production</string>
<key>get-task-allow</key>
<false/>
<key>keychain-access-groups</key>
<array>
<string>PREFIX.yourappBundleID</string>
</array>
</dict>
</plist>
Si conoces chino, será útil.
Tengo el mismo problema y esto sucede para las aplicaciones que no tienen ningún derecho.
Volver a firmar la aplicación con derechos resolvió el problema para mí, pero esto va a ser doloroso ya que todas las aplicaciones que ya están implementadas deben volver a firmarse e implementarse.
Este es un problema extraño porque estas aplicaciones que no funcionaban para mí no utilizan nada como el intercambio de llaves o las notificaciones automáticas y, por lo tanto, no necesitan ningún tipo de derecho (según tengo entendido). Ahora cuando solo agrego un derecho con el intercambio de llavero, comienza a funcionar.
ios 8.1.3: la aplicación interna necesita distribuir con MDM.
Instalación móvil
Impacto : una aplicación malintencionada firmada por la empresa puede tomar el control del contenedor local para las aplicaciones que ya están en un dispositivo
Descripción : existía una vulnerabilidad en el proceso de instalación de la aplicación. Esto se solucionó al evitar que las aplicaciones empresariales anularan las aplicaciones existentes en escenarios específicos.
de la nota de lanzamiento de manzana