La aplicación para Mac se encoge cuando se copia a USB

1

Tengo una aplicación para Mac de 443,245,675 bytes.

Cuando lo copio a una unidad flash, la versión copiada tiene solo 443,239,527 bytes y el paquete de la aplicación spctl -adeja de ser válido ( falla).

Esta diferencia (6148 bytes) es .DS_Storeexactamente el tamaño de un archivo, pero parece que no existe ninguno en el paquete de la aplicación. Mis archivos ocultos son visibles y los he buscado ls -l, no hay ningún .DS_Storearchivo allí.

¿Qué está pasando aquí y cómo lo soluciono para que mi aplicación no se invalide cada vez que se copia? Tenga en cuenta que la aplicación aún se ejecuta aunque spctlfalla. Dicho esto, ¿debería preocuparme por esto?

corpico
fuente
¿Qué formatos tienen sus discos flash y fuente?
Mark
Sospecho que su USB es FAT y su disco principal HFS +. Esta es la razón por la cual las distribuciones de aplicaciones generalmente se realizan creando un .dmg para contener la aplicación
Mark
¡Tienes razón! El USB fue FAT32. Eso reduce considerablemente las soluciones.
corpico

Respuestas:

1

Es probable que su memoria USB esté formateada como FAT32 (o simplemente FAT si es anterior)

Copiar la aplicación a algo que no está formateado como Mac OS Extended, probablemente provocó la pérdida de cosas como el propietario del archivo, los permisos, etc., que pueden haber sido necesarios para ejecutarlo / validarlo con el sistema.

O considere

  1. Empaquetarlo como un .dmg, o
  2. Si esto es algo que puede necesitar con frecuencia, puede volver a formatear la memoria USB como HFS + (después de hacer una copia de seguridad de cualquier cosa importante). Considere copiar el archivo de la aplicación con la bandera para preservar la configuración:

    cp -p archivo_origen archivo_destino_destino

Allan Mason
fuente
Gracias. La unidad fue FAT32. Intentaré ser creativo con la copia terminada.
corpico
Para cualquiera que tenga este problema en el futuro: mi instalador de dmg instalaría la aplicación en una unidad FAT32, dejando ciertos permisos nativos de Mac. Lo que hice fue comprimir la aplicación, hacer que el instalador la mueva a la unidad, y luego ejecutar un script posterior a la instalación para descomprimirla y luego eliminar el zip de la unidad. Lo que queda es una aplicación Mac con permisos intactos.
corpico
@corpico, ¿por qué no simplemente hacer lo estándar de OSX de distribuir un .dmg?
Marque el
@corpico Me alegra saber que lo tienes funcionando. Estoy feliz de haber podido ayudar.
Allan Mason