╔══════════════════════════════════════════════════════════════════════╗
║                    INSTRUCCIONES PARA macOS                           ║
║              Crear Instalador con Java 8 Embebido                     ║
╚══════════════════════════════════════════════════════════════════════╝

⚠️  IMPORTANTE: NECESITAS UNA MAC
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

A diferencia de Windows, NO puedes crear aplicaciones para Mac desde 
Windows. Necesitas:

  ✓ Una Mac física (MacBook, iMac, Mac Mini, etc.)
  ✓ macOS en máquina virtual (solo legal con hardware Apple)
  ✓ Servicio CI/CD con runners macOS (GitHub Actions, CircleCI)
  ✓ Acceso remoto a una Mac

Si NO tienes acceso a una Mac, ver al final las "Alternativas".


🚀 PROCESO RÁPIDO (4 PASOS):
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

PASO 1: Instalar Java 8 en tu Mac
──────────────────────────────────
  En Terminal:
  
  brew tap homebrew/cask-versions
  brew install --cask temurin8
  
  (Si no tienes Homebrew, instalarlo desde: https://brew.sh)


PASO 2: Preparar Archivos
──────────────────────────
  1. Transferir a tu Mac:
     • ElectricPos.jar (desde dist/)
     • Carpeta lib/ completa (desde dist/)
     • Icono (PNG o ICNS)
  
  2. Crear carpeta de trabajo:
     mkdir ~/factux_mac_build
     cd ~/factux_mac_build
  
  3. Copiar archivos:
     cp /ruta/a/ElectricPos.jar .
     cp -r /ruta/a/lib .


PASO 3: Ejecutar Script Automático
────────────────────────────────────
  1. Copiar script CrearInstaladorMac.sh a la carpeta
  
  2. Dar permisos:
     chmod +x CrearInstaladorMac.sh
  
  3. Ejecutar:
     ./CrearInstaladorMac.sh
  
  4. El script hará todo automáticamente


PASO 4: Resultado
──────────────────
  Se generarán dos archivos:
  
  ✓ Factux Costa Rica.app     (aplicación)
  ✓ FactuxCostaRica-4.4.dmg   (instalador)
  
  Para probar:
    open "Factux Costa Rica.app"
  
  Para distribuir:
    Usa el archivo .dmg


═══════════════════════════════════════════════════════════════════════


📁 ESTRUCTURA DE ARCHIVOS EN macOS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Factux Costa Rica.app/
└── Contents/
    ├── Info.plist                      [Configuración de la app]
    ├── MacOS/
    │   └── FactuxLauncher              [Script de inicio]
    ├── Resources/
    │   ├── app.icns                    [Icono]
    │   ├── ElectricPos.jar             [Tu aplicación]
    │   └── lib/                        [Librerías]
    │       ├── controlsfx-8.40.14.jar
    │       ├── jasperreports-6.3.0.jar
    │       └── ... (otras librerías)
    └── PlugIns/
        └── jre.jdk/                    [Java 8 embebido]
            └── Contents/
                └── Home/
                    ├── bin/
                    │   └── java
                    └── lib/


═══════════════════════════════════════════════════════════════════════


🎨 CONVERTIR ICONO A FORMATO .ICNS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

macOS usa formato .icns (no .ico como Windows)

OPCIÓN 1: Usando el script incluido
────────────────────────────────────
  chmod +x ConvertirIcono.sh
  ./ConvertirIcono.sh icono.png app.icns


OPCIÓN 2: Manual con iconutil
──────────────────────────────
  # 1. Crear iconset
  mkdir app.iconset
  
  # 2. Generar tamaños (requiere imagen PNG de alta resolución)
  sips -z 16 16     icon.png --out app.iconset/icon_16x16.png
  sips -z 32 32     icon.png --out app.iconset/icon_16x16@2x.png
  sips -z 32 32     icon.png --out app.iconset/icon_32x32.png
  sips -z 64 64     icon.png --out app.iconset/icon_32x32@2x.png
  sips -z 128 128   icon.png --out app.iconset/icon_128x128.png
  sips -z 256 256   icon.png --out app.iconset/icon_128x128@2x.png
  sips -z 256 256   icon.png --out app.iconset/icon_256x256.png
  sips -z 512 512   icon.png --out app.iconset/icon_256x256@2x.png
  sips -z 512 512   icon.png --out app.iconset/icon_512x512.png
  sips -z 1024 1024 icon.png --out app.iconset/icon_512x512@2x.png
  
  # 3. Convertir a .icns
  iconutil -c icns app.iconset -o app.icns


OPCIÓN 3: Herramientas online
──────────────────────────────
  • https://cloudconvert.com/png-to-icns
  • https://anyconv.com/png-to-icns-converter/


═══════════════════════════════════════════════════════════════════════


🔧 HERRAMIENTAS NECESARIAS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. Homebrew (Gestor de paquetes para Mac)
   https://brew.sh
   
   Instalar:
   /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

2. Java 8 JDK - Adoptium (Temurin)
   brew tap homebrew/cask-versions
   brew install --cask temurin8

3. Xcode Command Line Tools (opcional, para firmar)
   xcode-select --install


═══════════════════════════════════════════════════════════════════════


⚠️  ADVERTENCIAS DE SEGURIDAD DE macOS:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Al instalar tu aplicación, macOS puede mostrar:

  "La aplicación no se puede abrir porque el desarrollador 
   no se puede verificar"

SOLUCIÓN TEMPORAL (para pruebas):
──────────────────────────────────
  1. Click derecho en la app
  2. Seleccionar "Abrir"
  3. Click en "Abrir" en el diálogo
  
  O en Terminal:
  xattr -cr "Factux Costa Rica.app"


SOLUCIÓN PERMANENTE (para distribución):
─────────────────────────────────────────
  Debes FIRMAR y NOTARIZAR la aplicación con Apple
  
  Requisitos:
  • Cuenta de Apple Developer ($99/año)
  • Certificado de "Developer ID Application"
  
  Ver sección de firma en: GUIA_CREAR_INSTALADOR_MAC.md


═══════════════════════════════════════════════════════════════════════


📋 COMPARACIÓN: Windows vs macOS
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

┌──────────────────┬─────────────────────┬────────────────────────┐
│ Aspecto          │ Windows             │ macOS                  │
├──────────────────┼─────────────────────┼────────────────────────┤
│ Formato          │ .exe + .msi/.exe    │ .app + .dmg            │
│ Herramienta      │ Inno Setup          │ scripts/javapackager   │
│ Compilar desde   │ Windows             │ Solo macOS             │
│ JRE embebido     │ Carpeta jre/        │ Bundle dentro de .app  │
│ Icono            │ .ico                │ .icns                  │
│ Firma digital    │ Opcional            │ Recomendado            │
│ Permisos admin   │ No requerido        │ No requerido           │
│ Notarización     │ No aplica           │ Recomendado (macOS 10.15+) │
│ Tamaño final     │ 60-110 MB           │ 70-120 MB              │
└──────────────────┴─────────────────────┴────────────────────────┘


═══════════════════════════════════════════════════════════════════════


🌐 ALTERNATIVAS SI NO TIENES MAC:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

1. GITHUB ACTIONS (GRATIS)
   ────────────────────────
   • Usa runners de macOS en la nube
   • Compila automáticamente en cada push
   • Ver: GUIA_CREAR_INSTALADOR_MAC.md (sección GitHub Actions)

2. CIRCLECI / TRAVIS CI
   ─────────────────────
   • Servicios CI/CD con soporte macOS
   • Plan gratuito disponible

3. ACCESO REMOTO A MAC
   ───────────────────
   • MacStadium: https://www.macstadium.com/
   • AWS EC2 Mac: https://aws.amazon.com/ec2/instance-types/mac/
   • Alquiler por hora disponible

4. MAC EN MÁQUINA VIRTUAL
   ───────────────────────
   ⚠️  Solo legal con hardware Apple
   • VMware Fusion / Parallels (en Mac)
   • NO recomendado para producción

5. DISTRIBUIR SOLO JAR
   ───────────────────
   • Los usuarios Mac pueden ejecutar el JAR directamente
   • Requiere que tengan Java 8 instalado
   • Menos profesional pero funcional


═══════════════════════════════════════════════════════════════════════


❓ PREGUNTAS FRECUENTES:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Q: ¿Puedo crear la app de Mac desde Windows?
A: No, necesitas macOS para crear aplicaciones de Mac.

Q: ¿Los usuarios necesitan instalar Java?
A: No, el instalador incluye Java 8 embebido.

Q: ¿Funciona en Mac M1/M2 (Apple Silicon)?
A: Sí, mediante Rosetta 2. Java 8 es Intel pero corre en Apple Silicon.

Q: ¿Cuánto pesa el instalador?
A: Entre 70-120 MB (incluye Java 8 completo).

Q: ¿Necesito cuenta de Apple Developer?
A: Solo para firmar y distribuir sin advertencias. Para uso interno no.

Q: ¿El .dmg funciona en todas las versiones de macOS?
A: Sí, desde macOS 10.9+ (ajustable en el script).

Q: ¿Puedo tener Windows y Mac con el mismo código?
A: Sí, el JAR es el mismo. Solo cambia el empaquetado.


═══════════════════════════════════════════════════════════════════════


📚 MÁS INFORMACIÓN:
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━

Documentación completa:
  GUIA_CREAR_INSTALADOR_MAC.md

Scripts incluidos:
  • CrearInstaladorMac.sh      (crear app y DMG)
  • ConvertirIcono.sh          (PNG a ICNS)

Recursos externos:
  • Adoptium: https://adoptium.net/
  • Homebrew: https://brew.sh
  • Apple Developer: https://developer.apple.com/


═══════════════════════════════════════════════════════════════════════

           Factux Costa Rica - Space Software © 2025
           
═══════════════════════════════════════════════════════════════════════





